1

私はAに属してBおり、Bに属していCます。がCあり、その値がであるようなものpropertyをすべて見つけたいとします。AC.property$myVar

私がやりたいのは

A::model()->with('B.C')->findAllByAttributes(array('C.property'=>$myVar))

しかし、私がこれを行うときはいつでも:

$brands = FPfdPetItemBrand::model()->with('mImportOperation.mImport')->findAllByAttributes(array('mImport.m_import_id'=>$latestImport->m_import_id));

Yiiは不幸です:

CDbException

テーブル「f_pfd_pet_item_brand」には、「mImport.m_import_id」という名前の列がありません。

私はingによって私が望むことを達成することができましたがJOIN、これを行うためのよりクリーンな方法はありますか(私が使用しようとしたものと同様)?

4

1 に答える 1

1

findAllByAttributes()関連する属性に基づいて検索するために使用することはできません。findAll()代わりに試してください

$brands = FPfdPetItemBrand::model()->with('mImportOperation.mImport')->findAll('mImport.m_import_id=:import_id',array(':import_id'=>$latestImport->m_import_id));

(私は上記をテストしていませんが、動作するはずです)

于 2013-01-31T05:43:58.723 に答える