#php #mysql #sql #laravel #laravel-5.3
#php #mysql #sql #laravel #laravel-5.3
Вопрос:
Я новичок в Laravel. Я хочу фильтровать пользователей из таблицы.
1) Первая таблица «пользователи» Таблица пользователей
2) Вторая таблица «запросы» Запрашивает таблицу
3) Мой контроллер
public function search()
{
$my_id= Auth::User()->id;
$my_gender= Auth::User()->gender;
$users = DB::table('users')
->join('personal_info', 'users.id', '=', 'personal_info.user_id')
->join('user_about', 'users.id', '=', 'user_about.user_id');
->join('requests', 'users.id', '=', 'requests.request_to_id');
$users = $users ->whereNotIn('users.id', [$my_id]);
$users = $users ->whereNotIn('users.gender', [$my_gender]);
$users = $users ->whereNotIn('requests.request_to_id', ['users.id']);
$users = $users ->paginate(7);
return view('search',compact('users'));
}
4) Пользователи — моя основная таблица, она объединена с двумя другими таблицами, а также с таблицей запросов, я хочу фильтровать пользователей (users.id ) , которые присутствуют в (requests.request_to_id) . И я получаю пустой экран, ничего не получаю.
Ответ №1:
После вызова базы данных, как вы делаете в этом примере:
DB::table('requests')
->where('request_by_id', '=', $my_id)
->value('request_to_id');
Вы должны добавить ->get()
в конец запроса, чтобы получить значение из базы данных.
Комментарии:
1. и в конце этого: DB::table(‘users’)