Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/246.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何编写if elseif else条件laravel查询生成器?_Php_Laravel_Laravel 5 - Fatal编程技术网

Php 如何编写if elseif else条件laravel查询生成器?

Php 如何编写if elseif else条件laravel查询生成器?,php,laravel,laravel-5,Php,Laravel,Laravel 5,下面是我的疑问 rows = "SELECT * FROM `table` WHERE score = 1" if (rows.Count < 3) //at least one row return if; else if(rows.Count >7) return 'else if'; else return 'else'; rows=“从‘表’中选择*,其中分数=1” if(rows.Count7) 返回'else if'; 其他的 返回“else”;

下面是我的疑问

rows = "SELECT * FROM `table` WHERE score = 1"
if (rows.Count < 3) //at least one row
return if;
else if(rows.Count >7)
return 'else if';
else
return 'else';
rows=“从‘表’中选择*,其中分数=1”
if(rows.Count<3)//至少一行
如有需要,请返回;
否则如果(rows.Count>7)
返回'else if';
其他的
返回“else”;
使用querybuilder laravel时如何编写上述查询。实际上我想知道如何写其他条件

下面是我的代码

$query=DB::table('aaa')
->select('*')
->when($count<3,function ($q){
    echo 'if';
})
->when($count>7,function ($q){
    echo 'else if';
})

///I dont know how to write else condition here
$query=DB::table('aaa')
->选择(“*”)
->when($countwhen($count>7,函数($q){
回显“否则如果”;
})
///我不知道怎么在这里写其他条件

使用多个条件(
if/elseif/else
)时,没有与
when()对应的
else
),但如果你想一想,它只是其他条件之和的倒数。要准确地镜像PHP
if/elseif/else
,你需要检查第一个条件,然后显式地检查第二个条件而不是第一个条件,并且要模拟
else
条件,只需在所有其他条件都失败了

$query=DB::table('table'))
->选择(“*”)
->当($count<3时,函数($q){
//如果计数小于3
})
->当($count>7时,函数($q){
//否则,如果计数>7
})
->当($count=<7&&$count>=3时,函数($q){
//否则,计数在3到7之间(含)
});
您可以通过使用本机PHP
if/elseif/else
控件有条件地“手动”应用where子句,并应用一个简单的
where()
,如果您的条件变得非常有表现力或复杂,这可能会更加明确

但是,当您有一个简单的
if/else
时,会有一个
else
条件,因为您可以为它提供另一个闭包。正如您最初询问的那样,这不能用于多个条件,但我将其包括在内以供参考

$query=DB::table('table'))
->选择(“*”)
->当($count<3时,函数($q){
//如果计数小于3
},功能($q){
//否则,计数大于或等于3
});

使用多个条件(
if/elseif/else
)时,没有与
when()对应的
else
),但如果你想一想,它只是其他条件之和的倒数。要准确地镜像PHP
if/elseif/else
,你需要检查第一个条件,然后显式地检查第二个条件而不是第一个条件,并且要模拟
else
条件,只需在所有其他条件都失败了

$query=DB::table('table'))
->选择(“*”)
->当($count<3时,函数($q){
//如果计数小于3
})
->当($count>7时,函数($q){
//否则,如果计数>7
})
->当($count=<7&&$count>=3时,函数($q){
//否则,计数在3到7之间(含)
});
您可以通过使用本机PHP
if/elseif/else
控件有条件地“手动”应用where子句,并应用一个简单的
where()
,如果您的条件变得非常有表现力或复杂,这可能会更加明确

但是,当您有一个简单的
if/else
时,会有一个
else
条件,因为您可以为它提供另一个闭包。正如您最初询问的那样,这不能用于多个条件,但我将其包括在内以供参考

$query=DB::table('table'))
->选择(“*”)
->当($count<3时,函数($q){
//如果计数小于3
},功能($q){
//否则,计数大于或等于3
});

也许这就是你想要的:

$query=DB::table('aaa');

if($count < 3) {
    $query->where('quantity', '>=',  $count);
}
 
if($count < 7) {
    $query->where('quantity', '>', $count);
}

$query = $query->get();
$query=DB::table('aaa');
如果($count<3){
$query->where('quantity','>=',$count);
}
如果($count<7){
$query->where('quantity','>',$count);
}
$query=$query->get();

也许这就是你想要的:

$query=DB::table('aaa');

if($count < 3) {
    $query->where('quantity', '>=',  $count);
}
 
if($count < 7) {
    $query->where('quantity', '>', $count);
}

$query = $query->get();
$query=DB::table('aaa');
如果($count<3){
$query->where('quantity','>=',$count);
}
如果($count<7){
$query->where('quantity','>',$count);
}
$query=$query->get();

到目前为止你有没有尝试过?你在条件中应用了什么样的逻辑?你可以事先计算所有的行,然后使用
when()
,例如。是的,我为if和else if条件编写了when条件,但我不知道如何用when编写else条件。你能帮我@QirelIt只是when()的第三个
when()
使用if和elseif条件的布尔条件,逆运算。我添加了我的代码。你能为我写下答案吗@qirel你可以用when..example
Model::select(“*”,\DB::raw('(CASE when User.status=“0”然后“User”when users.status=“1”然后“Admin”ELSE“SuperAdmin”END)作为状态标签))->get()
到目前为止你有没有尝试过?你在条件中应用了什么样的逻辑?你可以事先计算所有的行,并使用
when()
,例如。是的,我为if和else if条件编写了when条件,但我不知道如何用when编写else条件。你能帮我@QirelIt只是when()的第三个
when()
使用if和elseif条件的布尔条件,逆运算。我添加了我的代码。你能为我写下答案吗@qirel你可以用when..example
Model::select(“*”,\DB::raw('(CASE when User.status=“0”然后“User”when users.status=“1”然后“Admin”ELSE“SuperAdmin”END)作为状态标签))->get();
我想用when子句不放简单if else我想用when子句不放简单if else