Php 将mysql查询逻辑转换为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` 通常我使用查询生成器编写选择

我正在尝试将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`
通常我使用查询生成器编写选择查询,但无法实现上述逻辑

$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的一项要求