Php 哪里不起作用
我的数据库中有3个表。 1.问题表,每个问题都有一些对话 2.会话表-每个会话都有消息 3.消息表 我正在询问对话桌上的问题Php 哪里不起作用,php,laravel,eloquent,Php,Laravel,Eloquent,我的数据库中有3个表。 1.问题表,每个问题都有一些对话 2.会话表-每个会话都有消息 3.消息表 我正在询问对话桌上的问题 $answerQuery = \App\Models\TB_Conversation::withCount('hasManyMessages') ->with(['hasManyMessages', 'hasManyMessages.createdBy', 'hasManyMessages.reply_of_message_id']) ->wh
$answerQuery = \App\Models\TB_Conversation::withCount('hasManyMessages')
->with(['hasManyMessages', 'hasManyMessages.createdBy', 'hasManyMessages.reply_of_message_id'])
->where('TB_Xolution_Problem_id', '=', $request->problem_id)
->whereHas('hasManyMessages', function ($query) {
$query->where('status_enum', '=', ENUM_STATUS_CODE_ACTIVE)
->orderBy('created_on', 'DESC');
})->where(function ($query) use ($userId) {
$query->where('initiated_user_id', '=', $userId)
->orwhere('receiver_user_id', '=', $userId);
})->get();
我希望会话的所有消息按降序排列,但由于WHERHADS子句,我的查询失败。我做错了什么,我的对话有信息
编辑1-我尝试了orderBy('created_on','desc'),但仍然没有得到任何结果。
此线程帮助我理解orderBy无法在Where Has中工作,因此我必须与函数一起使用。您遇到了什么错误?在字段可用的情况下签入创建的表您错过了使用orderBy。我认为应该是这样的:->whereHas('hasManyMessages',function($query){$query->where('status_enum','=',enum_status_CODE_ACTIVE)->orderBy('created_on','DESC');您能为
hasManyMessages
关系包含代码吗?这where
做什么?where('created_on','DESC
。似乎是个错误。