Как применять и где состояние в или где? - PullRequest
0 голосов
/ 03 ноября 2019

Я хочу отобразить данные из таблицы cv, где user_id - это $ request-> id. Кроме того, фильтрация сделана, поэтому я должен положить много или где. Из-за этого мой код не работает должным образом. Извините, вопрос немного сбивает с толку.

 $search = $request->input('search.value');
 $results = cv::with(['industrySegments','jobLocations','jobPositions','languages'])->where('user_id',$request->id);
 $results->orWhere('name','LIKE',"%{$search}%");
 $results->orWhere('gender','LIKE',$search);
 $results->orWhere('contact','LIKE',$search);
 $results->orWhere('contact2','LIKE',$search);

Этот код не работает. всякий раз, когда я что-то печатаю в кнопке поиска, отображаются данные, которые не должны отображаться. Я хочу отобразить только те данные, чей user_id равен $ request-> id.

Ответы [ 2 ]

0 голосов
/ 03 ноября 2019

я думаю, что вы хотели сделать продвинутый, где

ваш запрос будет выглядеть следующим образом

$results = cv::with(['industrySegments','jobLocations','jobPositions','languages'])->where('user_id',$request->id)->where(function($q)use($search){
    $q->where('name','LIKE',"%{$search}%")->orWhere(..........;    
})->get();

, поэтому вы можете поиграть с где / или где

0 голосов
/ 03 ноября 2019

Проверка следующего кода:

$results = cv::with(['industrySegments','jobLocations','jobPositions','languages']);

if(!empty($request->id))
{
 $results->where('user_id',$request->id);
}
else
{
 $results->orWhere('name','LIKE',"%{$search}%");
 $results->orWhere('gender','LIKE',$search);
 $results->orWhere('contact','LIKE',$search);
 $results->orWhere('contact2','LIKE',$search);
}


Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...