选择laravel有2个条件而while

问题描述 投票:0回答:3

下午好,我的系统有问题,我需要在一个选择中使用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}}
php laravel mysqli
3个回答
1
投票

DB::select()用于执行原始语句,而不是查询构建器。

如果要使用查询构建器,则需要使用DB::table()

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

在使用查询构建器时,您必须执行查询并使用get()获取结果。

阅读文档中raw statementsquery builder之间的区别。


0
投票

用于多重条件

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

0
投票

给你的控制器

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

试试这个吧

© www.soinside.com 2019 - 2024. All rights reserved.