Поиск записи либо принадлежат к основной таблице, либо к красноречивому отношению ORM - PullRequest
0 голосов
/ 07 апреля 2020

В таблице пользователей есть имя_пользователя, а в объектах teacherSubjects есть тема. Я хочу поставить условие таким образом, если оно соответствует либо имени в таблице User, либо теме в объекте teacherSubject

$teachers = User::with('teacherSubject')->whereHas('teacherSubject', function ($query) use($conditions){
                $query->where($conditions);
            })->get();

Ответы [ 2 ]

0 голосов
/ 07 апреля 2020

Вы можете попробовать вот так:

$teachers = User::where(function($sub) use($name) {
    $sub->where('first_name', $name)
    ->orWhereHas('teacherSubject', function($s) use($name) {
        $s->where('subject', $name);
    });
})whereHas('teacherSubject', function ($query) use($conditions){
$query->where($conditions);
})->with('teacherSubject')->get();

Здесь $name - первое имя для поиска.

0 голосов
/ 07 апреля 2020

Попробуйте так:

$teachers = User::with('teacherSubject')
            ->where(function($query) use($name) {
              $query->where('first_name',$name);
                    ->orWhereHas('teacherSubject', function ($query1) use($name){
                        $query1->where('subject',$name);
                    });
            })
            ->get();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...