在执行与用户相关的操作之前,我试图确保数据库中存在记录。当我像这样直接在phpmyadmin中执行查询时(出于测试目的)。
SELECT * FROM `chat_participants` WHERE `chat_id` = 2 AND `user_id` = 2
我收到了正确的记录。但是,当我尝试使用laravel查询生成器来实现相同的结果时。
dd($this->participants
->where('chat_id', '=', 2)
->where('user_id', '=', 2)
->get()
->first());
我得到
null.
有没有一种方法可以确保使用查询生成器的记录存在于数据库中?我需要申报吗
AND
在查询生成器中?
更新:我设置了
participants
我的构造函数中的变量。
public function __construct()
{
$this->middleware('auth');
$this->header = DB::table('chat_headers');
$this->participants = DB::table('chat_participants');
$this->messages = DB::table('chat_messages');
}
tosql()生成:
select * from chat_participants`
inner join chat_headers on chat_headers.id = chat_participants.chat_id
inner join chat_rbac on chat_rbac.id = chat_participants.rbac
where chat_participants.chat_id = ? and chat_participants.user_id = ?
and chat_id = ? and user_id = ?