Yii如何跨越关系搜索模型

时间:2014-01-20 22:17:26

标签: php yii

我如何在相关模型中搜索模型?我有一个作者模型和一个帖子模型。作者模型与帖子具有“HAS_MANY”关系,并且帖子与作者具有“BELONGS_TO”关系。基本上,每个作者都有很多帖子。鉴于作者姓名和帖子名称,我需要获得满足此标准的帖子。由于作者姓名和职位名称的组合是唯一的,因此只会有一个匹配项。 (这个,我有工作)“作者姓名”位于作者模型中,“帖子名称”位于帖子模型中。

对于非关系模型,我一直用它来查找模型:

ExampleModel::model()->findByAttributes(array('name' => $nameInput));

但我似乎无法弄清楚如何搜索上述关系。

1 个答案:

答案 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);