Laravel如果那么条件

时间:2018-04-18 08:45:06

标签: php mysql laravel laravel-5

我有这个查询

        $query = Model::Select('table1.col1','table1.col2','table1.col3')
        ->join('table2', 'table1.id', '=', 'table2.id')            
        ->select('table1.id','table2.logo','table1.col2','table1.col3')
        ->whereIn(....)
        ->whereIn(....);

工作正常。我要添加的额外内容是: 如果table1的col2值为0,那么我想得到table1.col3的值 但是当表1的col2值为1时,我想从另一个表中选择。

类似于IF table1.col2 = 0 returned_value = table1.col3 ELSE returned_value = (SELECT other_value FROM table3 WHERE CONDITION)

1 个答案:

答案 0 :(得分:1)

使用此:

->selectRaw('IF(table1.col2 = 0, table1.col3,
    (SELECT other_value FROM table3 WHERE CONDITION)) AS ...')