我有3张桌子: 用户,组,消息;
用户表是php artisan make:auth
生成的默认表,“组”表包含:
id,book_id
邮件表包含:
id,group_id,来自msg_content
用户表和组表之间存在多对多关系,数据透视表包含:
user_id,group_id,last_id_seen
现在,我要获取属于用户的组以及属于每个组并具有以下形式的id> last_id_seen的消息数:
group => number_of_messages _> _ last_id_seen
我是Laravel的新手,所以请您帮我做一下?
答案 0 :(得分:0)
使用withCount()
:
$groups = Auth::user()->groups()->withCount(['messages' => function($query) {
$query->whereColumn('id', '>', 'last_id_seen');
}])->get();
foreach($groups as $group) {
// $group->messages_count
}