laravel if-then条件

q1qsirdb  于 2021-06-25  发布在  Mysql
关注(0)|答案(1)|浏览(372)

我有这个问题

$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的值,但是当table1的col2值是1时,我想从另一个表中选择。
像这样的 IF table1.col2 = 0 returned_value = table1.col3 ELSE returned_value = (SELECT other_value FROM table3 WHERE CONDITION)

rggaifut

rggaifut1#

使用此选项:

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

相关问题