我有这个查询
$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)
答案 0 :(得分:1)
使用此:
->selectRaw('IF(table1.col2 = 0, table1.col3,
(SELECT other_value FROM table3 WHERE CONDITION)) AS ...')