Laravel 7.x雄辩的addSelect子查询进行计数

问题描述

使用clientsconst clientsRef = React.useRef(defaultClientValues); React.useEffect(() => { api.get<Client>('/clients/4').then( (response) => { const clientResponse = response.data; setClients(clientResponse); },error => { console.log(error); } ) },[]); React.useEffect(() => { clientsRef.current = clients; },[clients); const methods = useForm<Client>({ defaultValues: clientsRef.current ? clientsRef.current : defaultClientValues,reValidateMode: 'onChange',mode: 'onChange',validationSchema: clientSchema,}); 我有一个Laravel 7.x类和Postgresql数据透视表,可以在其中对多个模型进行分组。我想在User类之外创建一列,如果用户当前针对该组有一个数据透视表项,则该列为true或false。这样,我可以列出所有用户,并知道他们是否在组中。

我的查询

GroupPivot

我被困在一段时间了:

User

我错过了什么?谢谢。

解决方法

这解决了。它不喜欢->count()

User::addSelect([
        'in_group' => GroupPivot::selectRaw('COUNT(*)')
           ->whereColumn('groups_pivot.pivot_id','users.id')
           ->where('groups_pivot.group_id',$group->id)
           ->where('groups_pivot.model',User::class)
      ])->get();