1

私はこのフィルターの追加を持っています

    $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」リレーションのクエリ エイリアスを取得するにはどうすればよいですか?

4

0 に答える 0