Laravel multiple whereIn数组

时间:2015-06-08 11:46:41

标签: laravel eloquent

我想知道是否有办法在一个数组数组中使用whereIn, 类似于数组的位置

User::where(['user_id' => $currentUser, 'group_id' => $currentGroup]);

所以我正在寻找这个:

User::whereIn(['group' => $availableGroups, 'session' => $currentSessions]).

应该相当于两次使用whereIn子句。

我正在考虑解决这个问题:

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

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

1 个答案:

答案 0 :(得分:3)

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

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

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;
}