提问者:小点点

如何获得与where子句有关的BELLATE MULTY关系中的最大记录数


我有3个模型代表与会者可以注册的程序和程序段。

  1. 有许多

“与会者”有一个“已注册”字段,该字段为布尔值1/0,用于指示与会者是否已注册。

我要执行一个查询,以查找程序段中某个程序的最大与会者注册计数。例如

Max(    ScheduledProgram::find(id)->ScheduledProgramSegments->with([('attendees') => function($query)
    {
        $query->where('registered');
    }])->count();
);

有没有办法写这个查询在雄辩或查询生成器?即使使用查询生成器中的原始表达式,如果这是唯一的方法?

编辑:为了澄清,我有一个pivot表,其中有一个字段registered,我希望加载记录计数,标记为registered

到目前为止,这似乎是不可能的,除非我添加并维护一个我不想做的count字段,所以我运行一个单独的查询来获取我从pivot表检索到的每个记录的计数。


共1个答案

匿名用户

尝试在查询中更新此部分

$query->where('registered')->max('column_name');