1
hasMany( 'App \ Message')の関係を持つ会話モデルがあります。私はすべてのメッセージを "created_at"プロパティでグループ化したいと思います。 だから私が行うとき:Laravelグループメッセージby日付
$conversation = Conversation::first()->with('messages');
それはこのような何かを返す必要があります。これまでのところ、私が行うことができた最高のがある
{
"conversation_name": "some conversation",
"users": [list of users in the conversation],
"messages": [
"today": [collection of messages from today],
"yesterday": [collection of messages from yesterday],
"some date": [collection of messages from some date].... etc
]
}
を:
Message::all()->groupBy(function($query){
return $query->created_at->format('Y-m-d');
});
しかし、私残りの会話情報ではなく、メッセージのみを取得します。
Conversation::find(12)->with('messages')->groupBy(function($query){
return $query->created_at->format('Y-m-d');
});
をしかし、それは動作しません: 私はこのような何かをできるようにしたいと思います。
誰でもこの問題に取り組んでいますか?誰もが興味を持っている場合:)
をこれは悪いかもしれませんが、なぜあなたは、PHPを使用してそれらを分離/すべてのメッセージを取得し、グループにそれらをアップしませんか? – Mihailo