実現したいこと
laravelのクエリビルダーで相関副問い合わせを記述したい。
記述したいSQL
以下のような相関副問い合わせのSQLを書こうとしして
sql
1コード 2select m1.id, m1.title 3from m1 4where 5 m1.id =( 6 select m2.id 7 From m2 8 Where m1.date = m2.date 9 order by updated_at desc 10 limit 1 11 ) 12order by meal_date asc
以下のように記載をしたのですが、
PHP
1DB::table('m1') 2->select('m1.id', 'm1.title') 3->where('m1.id', function($query){ 4 $query->select('m2.id') 5 ->from('meshilogs as m2') 6 ->where('m1.date', 'm2.date') 7 ->orderBy('m2.updated_at', 'desc') 8 ->first(); 9}) 10->orderBy('m1.date', 'asc')
以下のようなエラーが発生しました。
原因としては、主問い合わせの項目を副問い合わせ側で参照できないと考えられるのですが、
どのように記述して良いのかがわからず積んでしまいました。
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'm1.date' in 'where clause'
回答2件
あなたの回答
tips
プレビュー