User::query()
->addSelect(['col_a' => function($q){
$q->select('table_a.some_col')
->from('table_a')
->whereColumn('users.some_col', 'table_a.some_col')
->limit(1);
}])
->addSelect(['col_b' => function($q){
$q->select(DB::raw("table_b.some_col * col_a"))
->from('table_b')
->whereColumn('users.some_col', 'table_b.some_col')
->limit(1);
}])
->get();
如何在第二个addSelect()函数中使用col_a?上面的查询将导致未知列'col_a'错误
1条答案
按热度按时间ix0qys7i1#
要在第二个addSelect函数中使用col_a列,可以使用DB::raw函数在原始SQL查询中引用该列。
以下示例说明如何修改代码以在第二个addSelect函数中使用col_a列
通过使用DB::raw函数,您可以引用原始SQL查询中的col_a列,就好像它是users表中的常规列一样。