Php CListView操作索引的Yii关系表
在我的web应用程序视图中,我需要显示来自两个不同相关表的列,以便执行索引操作 但我得到了这个错误,我无法弄清楚,我应该如何解决任何机构请帮助Php CListView操作索引的Yii关系表,php,mysql,yii,Php,Mysql,Yii,在我的web应用程序视图中,我需要显示来自两个不同相关表的列,以便执行索引操作 但我得到了这个错误,我无法弄清楚,我应该如何解决任何机构请帮助 Trying to get property of non-object Trying to get property of non-object 在这一行 <?php echo CHtml::encode($data->producerOfferUserRelation->name); ?> <br />
Trying to get property of non-object
Trying to get property of non-object
在这一行
<?php echo CHtml::encode($data->producerOfferUserRelation->name); ?>
<br />
我在控制器中的索引操作
public function actionIndex()
{
$dataProvider=new CActiveDataProvider('ProducerOffer');
$this->render('index',array(
'dataProvider'=>$dataProvider,
));
}
我的index.php和_view.php代码
<div class="container">
<legend>
<h2>Producer offer/h2>
</legend>
<div>
<?php $this->widget('bootstrap.widgets.TbListView',array(
'dataProvider'=>$dataProvider,
'itemView'=>'_view',
)); ?>
</div>
</div>
<?php
?>
<div class="view">
<b><?php echo CHtml::encode($data->getAttributeLabel('producerOfferUserRelation.name')); ?>:</b>
<?php echo CHtml::encode($data->producerOfferUserRelation->name); ?>
<br />
<b><?php echo CHtml::encode($data->getAttributeLabel('producerOfferVegetableRelation.name')); ?>:</b>
<?php echo CHtml::encode($data->producerOfferVegetableRelation->name); ?>
<br />
<b><?php echo CHtml::encode($data->getAttributeLabel('unit_cost')); ?>:</b>
<?php echo CHtml::encode($data->unit_cost); ?>
<br />
<b><?php echo CHtml::encode($data->getAttributeLabel('unit_delivery_cost')); ?>:</b>
<?php echo CHtml::encode($data->unit_delivery_cost); ?>
<br />
</div>
我的_view.php代码
<div class="container">
<legend>
<h2>Producer offer/h2>
</legend>
<div>
<?php $this->widget('bootstrap.widgets.TbListView',array(
'dataProvider'=>$dataProvider,
'itemView'=>'_view',
)); ?>
</div>
</div>
<?php
?>
<div class="view">
<b><?php echo CHtml::encode($data->getAttributeLabel('producerOfferUserRelation.name')); ?>:</b>
<?php echo CHtml::encode($data->producerOfferUserRelation->name); ?>
<br />
<b><?php echo CHtml::encode($data->getAttributeLabel('producerOfferVegetableRelation.name')); ?>:</b>
<?php echo CHtml::encode($data->producerOfferVegetableRelation->name); ?>
<br />
<b><?php echo CHtml::encode($data->getAttributeLabel('unit_cost')); ?>:</b>
<?php echo CHtml::encode($data->unit_cost); ?>
<br />
<b><?php echo CHtml::encode($data->getAttributeLabel('unit_delivery_cost')); ?>:</b>
<?php echo CHtml::encode($data->unit_delivery_cost); ?>
<br />
</div>
这是因为您试图通过关系访问的数据不存在
$data->producerOfferUserRelation
此行返回null,因为producerOdderUser表中不存在相应的数据。所以当你写作的时候
$data->producerOfferUserRelation->name
基本上你是想
$data->null->name
这就是为什么你会出错