通过find访问关系数据


Yii accessing relational data via find

我在模型中定义了下面这个查找函数

$model=Investor::model()->find('fname=? AND lname=?', array($fname, $lname)

是否有一种方法可以访问视图中的关系数据?

是。有两种方法:

  • 延迟加载。
  • 立即加载。

通过延迟加载访问(额外的SQL查询),你不应该添加任何到你的find,在视图中你只需要使用:

<?php foreach($model->relationName as $relatedModel):?>
  // something
<?php endforeach ?>

即时加载将在单个SQL查询中获得所有内容,因此在大多数情况下它更有效。视图将保持不变。不同的部分是Investor::model()->with('relationName')->find(…