Laravel 拉威尔多天线阵

Laravel 拉威尔多天线阵,laravel,eloquent,Laravel,Eloquent,我想知道是否有一种方法可以使用, 类似于数组的where User::where(['user_id' => $currentUser, 'group_id' => $currentGroup]); 所以我在寻找这个: User::whereIn(['group' => $availableGroups, 'session' => $currentSessions]). 这应该相当于使用where子句两次 我想这样解决这个问题: foreach (query as $

我想知道是否有一种方法可以使用, 类似于数组的where

User::where(['user_id' => $currentUser, 'group_id' => $currentGroup]);
所以我在寻找这个:

User::whereIn(['group' => $availableGroups, 'session' => $currentSessions]).
这应该相当于使用where子句两次

我想这样解决这个问题:

foreach (query as $key => $value)
   $userQuery->whereIn($key, $value);

我想知道是否有更好的办法。

不,那是不可能的。您必须多次(或在循环中)使用
where()

没有能够正确处理此类参数的逻辑:

public function whereIn($column, $values, $boolean = 'and', $not = false)
{
    $type = $not ? 'NotIn' : 'In';

    // ... irrelevant code omitted ...

    $this->wheres[] = compact('type', 'column', 'values', 'boolean');

    $this->addBinding($values, 'where');

    return $this;
}

我不明白你所说的“没有逻辑可以处理…”是什么意思。我发布的代码来自框架核心。如果支持数组数组,则该方法将包含处理该数组的逻辑。可能为每个子阵列调用
,其中
。。。我添加了这个代码来证明我的陈述。