DB :: select() - > from(' ads') - >的正确语法,其中使用多个搜索值

时间:2017-04-04 09:02:29

标签: mysql sql

无法找出基于多个值返回数据库结果的正确语法

这是我的代码,但我需要计算有多少广告有id_category 351,353,354,355,358,360,361,361和363。

@ViewChildren(SelectComponent) selectElem :QueryList<SelectComponent>;

public closeOtherElems(element){
    let a = this.selectElem.filter(function(el){
                return (el != element)
            });

    a.forEach(function(e:SelectComponent){
        e.closeDropdown();
    })
}

我也尝试过这样:

    if ($cat->id_category_parent==='350') {
$queryA = DB::select()->from('ads')->where('id_category', '=' , '351, 353, 354, 355, 357, 358, 360, 361, 362, 363');
$resultA = $queryA->execute();
}

并且像这样:

    if ($cat->id_category_parent==='350') {
$queryA = DB::select()->from('ads')->where('id_category', '=' , '351' || 'id_category', '=' , '353');
$resultA = $queryA->execute();
}

我甚至尝试过声明或者说但没有用。

1 个答案:

答案 0 :(得分:0)

您正在寻找的是IN statement

if ($cat->id_category_parent==='350') {
   $queryA = DB::select()->from('ads')->where('id_category', 'IN', [351, 353, 354, 355, 357, 358, 360, 361, 362, 363]);
   $resultA = $queryA->execute();
}

IN语句用于检查值是否在数组中,就像你的情况一样

编辑: 我更改了代码,因此它使用数组而不是字符串