Convert mysql query logic to Laravel query builder

半城伤御伤魂 提交于 2019-12-11 11:42:24

问题


I am trying to convert my mysql query logic to Laravel query builder. I I have no Idea how to convert it as laravel query.

my query logic is

SELECT id,name,
case 
    when visibility_status = '1' 
    then 'Visible' 
    when visibility_status = '0' 
    then 'Invisible'
    end as visibility_status FROM `flowers`

generally I write a select query using query builder but cant implement above logic

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

回答1:


Try This

$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();

Here is the reference for it http://laravel.com/docs/4.2/queries#raw-expressions



来源:https://stackoverflow.com/questions/30000585/convert-mysql-query-logic-to-laravel-query-builder

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!