У меня есть таблица, где пользователи могут искать данные. Они вводят критерий поиска, и, если он соответствует любому из результатов таблицы, возвращаются результаты.
Это контроллер.
$query = request('search-term');
if(!empty($query))
{
$user = OnlineCounsellingApplication::where('name', 'like', $query)
->orWhere('email', 'like', $query)
->orWhere('country_id', 'like', $query)
->paginate(25)
->setPath('');}
Если пользователь выполняет поиск по электронной почте, эта запись будет отображаться.
Моя проблема в том, что если пользователь ищет страну, результаты не возвращаются, поскольку у меня есть страны, которые хранятся в виде идентификатора, который относится к имени в другой таблице. Он хранится как country_id. Запись изначально отображается так:
@foreach($users as $row)
<tr>
<td>{!! $row->id !!}</td>
<td>{!! $row->name ?: 'No Name Provided'!!}</td>
<td>{!! $row->email !!}</td>
<td>{!! $row->country['name'] ?: 'No Country Provided' !!}</td>
</tr>
@endforeach
Как принять строку в качестве ввода и выполнить поиск по идентификатору