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
),但如果你想一想,它只是其他条件之和的倒数。要准确地镜像PHPif/elseif/else
,你需要检查第一个条件,然后显式地检查第二个条件而不是第一个条件,并且要模拟else
条件,只需在所有其他条件都失败了
$query=DB::table('table'))
->选择(“*”)
->当($count<3时,函数($q){
//如果计数小于3
})
->当($count>7时,函数($q){
//否则,如果计数>7
})
->当($count=<7&&$count>=3时,函数($q){
//否则,计数在3到7之间(含)
});
您可以通过使用本机PHPif/elseif/else
控件有条件地“手动”应用where子句,并应用一个简单的where()
,如果您的条件变得非常有表现力或复杂,这可能会更加明确
但是,当您有一个简单的if/else
时,会有一个else
条件,因为您可以为它提供另一个闭包。正如您最初询问的那样,这不能用于多个条件,但我将其包括在内以供参考
$query=DB::table('table'))
->选择(“*”)
->当($count<3时,函数($q){
//如果计数小于3
},功能($q){
//否则,计数大于或等于3
});
使用多个条件(if/elseif/else
)时,没有与when()对应的else
),但如果你想一想,它只是其他条件之和的倒数。要准确地镜像PHPif/elseif/else
,你需要检查第一个条件,然后显式地检查第二个条件而不是第一个条件,并且要模拟else
条件,只需在所有其他条件都失败了
$query=DB::table('table'))
->选择(“*”)
->当($count<3时,函数($q){
//如果计数小于3
})
->当($count>7时,函数($q){
//否则,如果计数>7
})
->当($count=<7&&$count>=3时,函数($q){
//否则,计数在3到7之间(含)
});
您可以通过使用本机PHPif/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..exampleModel::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..exampleModel::select(“*”,\DB::raw('(CASE when User.status=“0”然后“User”when users.status=“1”然后“Admin”ELSE“SuperAdmin”END)作为状态标签))->get();
我想用when子句不放简单if else我想用when子句不放简单if else