你好,我有这个功能
public function readData(){
$TableB1 = \DB::table('users')
->join('group_user', 'users.id', '=', 'group_user.user_id')
->join('groups', 'groups.id', '=', 'group_user.group_id')
->join('meetings', 'users.id', '=', 'meetings.owned_by_id')
->select(
'users.name as name',
'group_user.user_id as id',
'groups.name as groupname',
)
->get();
foreach ($TableB1 as &$data){
$meetings = \DB::table('meetings')
->where('company_id', 1)->where('owned_by_id', $data->id)
->where(\DB::raw('MONTH(created_at)'), Carbon::today()->month);
echo $meetings->count();
}
return $TableB1;
}
我从数据库检索一些数据并返回它们并使用 AJAX 调用稍后使用它们
问题是我有一个名为“用户”的表和一个名为“ session ”的表
我想知道每个用户每天参加多少次 session
因此,为了做到这一点,我为每个人创建了一个来获取user_id
并使用它来获取计数
每个用户完成的 session 次数
例如,在 session 表中,我有一个 owned_by_id
字段,其中包含 user_id
如果代码发现 owned_by_id(6)
在
session 表4次就会返回4
但这就是我在浏览器中得到的
相反,我想要得到的是这样的
我正在使用 Laravel 5.7,抱歉,我知道我的问题不清楚,这是我第一次在 stackoverflow 上提出问题 Image
最佳答案
如果你想要 session 计数,那么你可以使用 laravel eloquent 方法:withCount();
像这样:
$users = User::with('meetings')->withCount('meetings')->get();
如果您这样做,那么您将获得带有用户对象的meetings_count。
如果您仍有任何疑问,可以引用以下链接:
https://laravel.com/docs/5.8/eloquent-relationships
谢谢你!
关于php - Laravel 将数据计数附加到数据库对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55039523/