私はこのフィルターの追加を持っています
$subQuery = $query->createSubquery()
->select ('ps.id')
->from('Person ps')
->innerJoin('ps.JoomlaUser ju')
->innerJoin('ju.OrderList o')
->innerJoin('o.ItemList oi')
->whereIn ('oi.product_id',$value);
$subSubQuery = $subQuery->createSubquery()
->select('oh.order_id')
->from ('jos_vm_order_history oh')
->addWhere ('oh.order_status_code=?','C')
->addWhere ('oh.order_id=o.order_id') //<-- this doesn't work
->orderBy ('oh.date_added desc')
->limit(1);
$subQuery->addWhere('exists (' . $subSubQuery->getDql() . ')');
$query->addWhere('person_id in (' . $subQuery->getDql() . ')');
結合されたクエリでサブクエリをテーブルに関連付ける必要があります。これを実行すると、
Column not found: 1054 Unknown column 'o.order_id' in 'where clause'
最終クエリで使用される「OrderList」リレーションのクエリ エイリアスを取得するにはどうすればよいですか?