1

我有A属于BB属于C。假设C有一个property,我想找到所有A它们的C.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不高兴:

CDb异常

表“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 回答