Laravel 5.3 Eloquent:同一列中的多个where()不起作用

时间:2016-11-29 01:33:28

标签: laravel

在我的数据库中,我有专栏'发布'哪些值是' new',' pending',' running' '暂停'。 我想查询'待定'并且'跑步'同时。我使用此代码但它无效。

$q_editpost = Menu::select('id', 'bcrumb', 'heading', 'content_id', 'content_type')
        ->where('publish', 'pending')
        ->where('publish', 'running')
        ->get();

我需要帮助!

2 个答案:

答案 0 :(得分:7)

有两个选项,但whereIn应该更快。

1)

$q_editpost = Menu::select('id', 'bcrumb', 'heading', 'content_id', 'content_type')
        ->whereIn('publish', ['pending', 'running'])
        ->get();

2)

$q_editpost = Menu::select('id', 'bcrumb', 'heading', 'content_id', 'content_type')
        ->where('publish', 'pending')
        ->orWhere('publish', 'running')
        ->get();

答案 1 :(得分:1)

对于clouse中的许多人使用whereIn。

$q_editpost = Menu::select('id', 'bcrumb', 'heading', 'content_id', 'content_type')
        ->whereIn('publish', ['pending', 'running'])
        ->get();