Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 哪里不起作用_Php_Laravel_Eloquent - Fatal编程技术网

Php 哪里不起作用

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

我的数据库中有3个表。 1.问题表,每个问题都有一些对话 2.会话表-每个会话都有消息 3.消息表

我正在询问对话桌上的问题

$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。似乎是个错误。