我如何在相关模型中搜索模型?我有一个作者模型和一个帖子模型。作者模型与帖子具有“HAS_MANY”关系,并且帖子与作者具有“BELONGS_TO”关系。基本上,每个作者都有很多帖子。鉴于作者姓名和帖子名称,我需要获得满足此标准的帖子。由于作者姓名和职位名称的组合是唯一的,因此只会有一个匹配项。 (这个,我有工作)“作者姓名”位于作者模型中,“帖子名称”位于帖子模型中。
对于非关系模型,我一直用它来查找模型:
ExampleModel::model()->findByAttributes(array('name' => $nameInput));
但我似乎无法弄清楚如何搜索上述关系。
答案 0 :(得分:1)
使用CDbCriteria
实例和CActiveRecord::find()
代替
$c=new CDbCriteria
$c->together=true;
$c->with=array('author'); //the name of the related model in the model you are searching
// the format for searching related fields is relation.field
$c->compare('author.name',$nameInput);
$c->compare('name',$postInput);
$post=Post::model()->find($c);