我可以做Model->where('id', ARRAY)多个where条件吗?


Can I do Model->where('id', ARRAY) multiple where conditions?

标题说明了一切。

我知道我可以这样做:

DB::table('items')->where('something', 'value')->get()

但是我想检查多个值的where条件,像这样:

DB::table('items')->where('something', 'array_of_value')->get()

有简单的方法吗?

whereIn():

$items = DB::table('items')->whereIn('id', [1, 2, 3])->get();

您可以使用以下解决方案之一:

$items = Item::whereIn('id', [1,2,..])->get();

或:

$items = DB::table('items')->whereIn('id',[1,2,..])->get();

如果您需要几个参数:

$ids = [1,2,3,4];
$not_ids = [5,6,7,8];
DB::table('table')->whereIn('id', $ids)
                  ->whereNotIn('id', $not_ids)
                  ->where('status', 1)
                  ->get();

可以使用接受数组作为第二个参数的whereIn

DB:table('table')
   ->whereIn('column', [value, value, value])
   ->get()

你可以多次链接。

DB:table('table')->where('column', 'operator', 'value')
    ->where('column', 'operator', 'value')
    ->where('column', 'operator', 'value')
    ->get();

这将使用AND操作符。如果您需要OR,您可以使用orWhere方法。

高级where语句

DB::table('table')
    ->where('column', 'operator', 'value')
    ->orWhere(function($query)
    {
        $query->where('column', 'operator', 'value')
            ->where('column', 'operator', 'value');
    })
    ->get();

如果您按ID搜索,您也可以使用:

$items = Item::find(array_of_ids);

这是我的工作获取id然后在数组

中搜索
$shops = Shop::Where('user_id', Auth::id())->get('id');
$categories = Category::whereIn('shop_id',$shops)->paginate(7);

你可以这样做:

DB:table('table')->where([
    'column' => 'value',
    'column' => 'value',
    'column' => 'value',
])->get()

而不是:

DB:table('table')->where('column', 'value')
    ->where('column', 'value')
    ->where('column', 'value')
    ->get();

$ whereData =[("名字","测试"),(‘身份证’,‘,& lt的在’,' 5 ']],

$用户= DB:表("用户")→(whereData美元)→在哪里得到();

WHERE AND SELECT Condition In Array Format

use DB;
$conditions = array(
    array('email', '=', 'user@gmail.com')
);
$selected = array('id','name','email','mobile','created');
$result = DB::table('users')->select($selected)->where($conditions)->get();