我在我的模型中写了一个像这样的关系
public function relations()
{
// NOTE: you may need to adjust the relation name and the related
// class name for the relations automatically generated below.
return array(
'category' => array(self::BELONGS_TO, 'Category', 'categoryid'),
'company' => array(self::BELONGS_TO, 'CommercialUser', 'createdby'),
'subcategory' => array(self::BELONGS_TO, 'SubCategory', 'subcategory'),
);
}
我创建了一个带子类别字段的视图页面,并通过数组
调用它我的观点
<?php $this->widget('zii.widgets.CDetailView', array(
'data'=>$model,
'attributes'=>array(
//'id',
array(
'name' => 'type',
'type' => 'raw',
value'=>$model->type
),
'title',
'description',
array(
'name' => 'Category',
'type' => 'raw',
'value'=>$model->category->categoryname
),
'subcategory',
array(
'name' => 'subcategory',
'type' => 'raw',
'value'=>$model->subcategory->subcategory_name
),
'location',
'startdate',
'enddate',
array(
'name' => 'image',
'type' => 'raw',
'value'=>GFunctions::GetoffereveImage($model->id)
),
),
)); ?>
我的数据库中有一个名为sub_category的表
我需要的是与该表建立关系以获得subcategory_name ...
当我尝试它时显示出像
尝试获取非对象的属性
请有人帮我解决这个问题。
谢谢
答案 0 :(得分:0)
首先检查类别和子类别字段是否为空。
'value'=> ($model->subcategory) ? $model->subcategory->subcategory_name : null;
'value'=> ($model->category) ? $model->category->category_name : null;