将mysql查询逻辑转换为Laravel查询生成器

Gra*_*d72 1 php mysql query-builder laravel laravel-4

我正在尝试将我的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`
Run Code Online (Sandbox Code Playgroud)

通常我使用查询构建器编写一个选择查询但不能实现上面的逻辑

$result = DB::table('flowers')
        ->select('flowers.id as id', 'flowers.name as name',
'flowers.visibility_status as visibility_status');
Run Code Online (Sandbox Code Playgroud)

Sat*_*nde 7

试试这个

$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();
Run Code Online (Sandbox Code Playgroud)

以下是http://laravel.com/docs/4.2/queries#raw-expressions的参考资料

  • @MackieeE PHP> = 5.4无论如何都是Laravel的要求 (2认同)