我有这样的查询
$criteria = new CDbCriteria(array(
'distinct' => true,
'select' => array('assets_id'),
'condition' => 'assets_id in (159)',
'with' => array('tbl_asset_mappings'=>array('select'=>array('catid')), 'tbl_assets_details'=>array('select'=>array('filetype','original_filename'))),
'together' => true
));
$result=TblAssets::model()->findAll($criteria);
但我只从firsttable获取所有列值。我没有从第二个表中获取列值。为什么?
我的目标是从tblasset获取assets_id,tbl_asset_mappings.catid,tbl_assets_details.filetype,tbl_assets_details.original_filename
我怎样才能做到这一点。
答案 0 :(得分:0)
您正在查询对象,因此您将获得关系作为子对象,如$ post-> author-> name。
您需要改为加入而不是加入。在这种情况下,更容易编写为连接原始查询。
如果您只是编写自己的查询而不是在整个Yii中构建
,那么也许会更容易答案 1 :(得分:0)
您可以访问$model->relatedModel->attribute
等相关对象。
在model->findAll()
之后设置一个断点并查看$model->_related property
。你必须有一组相关的模型。