Выберите в Laravel с 2 условиями и время - PullRequest
0 голосов
/ 17 сентября 2018

Добрый день, у меня проблема в моей системе, мне нужно использовать 2 условия в выборке, а затем отображать все записи с помощью while, но из-за простоты я немного подобрался.

Мой контроллер

public function index()
{
   $users = DB::select('select * from users where id = :id', ['id' => 1]);
   $id = $users->id;
   $chats = DB::table('chat')->where('idremetente', $id)->where('iddestino', $id)->get();

   $atual = date('m');

   $aniversariante = DB::select("select * from users where MONTH(nascimento) = '{$atual}'");


      return view('home', [
             'users' => $users,
             'aniversariante' => $aniversariante,
             'chats' => $chats,
         ]);
}

Мой вид

@foreach($chats as $chat)
@endforeach
{{chat->id}}

Ответы [ 3 ]

0 голосов
/ 17 сентября 2018

для многократного использования

$chats = DB::table('chat')->where('idremetente', $firstConditionValue)->where('iddestino', $secondConditionValue)->get();
0 голосов
/ 17 сентября 2018

К вашему контроллеру

public function index()
{
$users = DB::table('user')->where('id', 1)->get();
$id = $users->id;
$chats = DB::table('chat')->where('idremetente', $id)->where('iddestino', $id)->get();

$atual = date('m');

$aniversariante = DB::table('user')->where('nascimento', $atual)->get();

  return view('home', compact('users','aniversariante','chats'));
}

А ваше мнение

@foreach($chats as $chat)
{{chat->id}}
@endforeach

Попробуйте это

0 голосов
/ 17 сентября 2018

DB::select() для выполнения необработанного оператора, а не для построителя запросов.

Если вы хотите использовать построитель запросов, вам нужно использовать DB::table():

$chats = DB::table('chat')->where('idremetente', $id)->where('iddestino', $id)->get();

А при использовании построителя запросов вы должны выполнить запрос и получить результаты с помощью get().

Считайте разницу между необработанными операторами и построителем запросов в документации.

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