Php CListView操作索引的Yii关系表

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 />

在我的web应用程序视图中,我需要显示来自两个不同相关表的列,以便执行索引操作 但我得到了这个错误,我无法弄清楚,我应该如何解决任何机构请帮助

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
这就是为什么你会出错