Это запрос, который отлично работает в MY SQL:
SELECT users.name FROM ((event_user INNER JOIN events ON event_user.event_id = events. id) INNER JOIN users ON event_user.user_id = users.id) где events.name, например, «% FEB%» или users.name, например, «% FEB%», или users.email, например, «% FEB%», или users.phone like ». % FEB% '
Это то, что я написал, что, конечно, не работает:
$data['search_data'] = EventUser::select('users.*')
->join
('users', 'event_user.user_id', '=', 'users.id')
->join
('events', 'event_user.event_id', '=', 'events.id')
->where
('events.name','like', "'$search'")
->orWhere
("users.id",'like', "'$search'")
->orWhere
("users.name",'like', "'$search'")
->orWhere
("users.phone",'like', "'$search'")
->orWhere
("users.email",'like', "'$search'")
->orWhere
("users.password",'like', "'$search'")
->orWhere
("users.work_location",'like', "'$search'")
->orWhere
("users.profession",'like', "'$search'")
->orWhere
("users.designation",'like', "'$search'")
->orWhere
("users.committee",'like', "'$search'")
->orWhere
("users.role",'like', "'$search'")
->orWhere
("users.bio",'like', "'$search'")
->paginate(10);
Хорошо, с помощью всех. У меня есть решение. Спасибо всем.
$data['search_data'] = EventUser::select('users.*', 'events.name as e_name')
->join('users', 'event_user.user_id', '=', 'users.id')
->join('events', 'event_user.event_id', '=', 'events.id')
->where('events.name', 'like', '%'.$search.'%')
->orWhere('users.id', 'like', '%'.$search.'%')
->orWhere('users.name', 'like', '%'.$search.'%')
->orWhere('users.phone', 'like', '%'.$search.'%')
->orWhere('users.email', 'like', '%'.$search.'%')
->orWhere('users.password', 'like', '%'.$search.'%')
->orWhere('users.work_location', 'like', '%'.$search.'%')
->orWhere('users.profession', 'like', '%'.$search.'%')
->orWhere('users.designation', 'like', '%'.$search.'%')
->orWhere('users.committee', 'like', '%'.$search.'%')
->orWhere('users.role', 'like', '%'.$search.'%')
->orWhere('users.bio', 'like', '%'.$search.'%')
->distinct()
->paginate(10);
Но это все еще возвращает повторяющиеся результаты.