Php 将mysql查询逻辑转换为Laravel查询生成器
我正在尝试将mysql查询逻辑转换为Laravel查询生成器。我不知道如何将其转换为laravel查询 我的查询逻辑是Php 将mysql查询逻辑转换为Laravel查询生成器,php,mysql,laravel,laravel-4,query-builder,Php,Mysql,Laravel,Laravel 4,Query Builder,我正在尝试将mysql查询逻辑转换为Laravel查询生成器。我不知道如何将其转换为laravel查询 我的查询逻辑是 SELECT id,name, case when visibility_status = '1' then 'Visible' when visibility_status = '0' then 'Invisible' end as visibility_status FROM `flowers` 通常我使用查询生成器编写选择
SELECT id,name,
case
when visibility_status = '1'
then 'Visible'
when visibility_status = '0'
then 'Invisible'
end as visibility_status FROM `flowers`
通常我使用查询生成器编写选择查询,但无法实现上述逻辑
$result = DB::table('flowers')
->select('flowers.id as id', 'flowers.name as name',
'flowers.visibility_status as visibility_status');
试试这个
$users = DB::table('flowers')
->select(["id", "name",
DB::raw("
case
when visibility_status = '1'
then 'Visible'
when visibility_status = '0'
then 'Invisible'
end as visibility_status
")])->get();
这是它的参考资料
试试这个
$users = DB::table('flowers')
->select(["id", "name",
DB::raw("
case
when visibility_status = '1'
then 'Visible'
when visibility_status = '0'
then 'Invisible'
end as visibility_status
")])->get();
这是它的参考资料
另一种方法可能是添加一个表来解码该值,然后加入该值。因此,您将有一个只有两行两列的小表:0不可见,1可见。然后,在普通SQL或非原始查询Laravel查询生成器中,您只需从flowers连接到解码表并从中读取值。或者,只要读取0和1,并在您输出它们的Laravel视图中直接解码它们,假设您正在使用它们。另一种方法可能是添加一个表来解码该值,然后加入到该表中。因此,您将有一个只有两行两列的小表:0不可见,1可见。然后,在普通SQL或非原始查询Laravel查询生成器中,您只需从flowers连接到解码表并从中读取值。或者,只需读取0和1,并在Laravel视图中直接解码即可输出它们,假设这就是你对他们所做的。注意:我相信你需要PHP5.4>=来完成这项工作?@MackieeE PHP>=5.4是Laravel的一项要求。注意:我相信你需要PHP5.4>=来完成这项工作?@MackieeE PHP>=5.4是Laravel的一项要求