gpt4 book ai didi

php - CListView Action 索引的 Yii 关系表

转载 作者:行者123 更新时间:2023-11-30 23:05:00 25 4
gpt4 key购买 nike

在我的 web 应用程序 View 中,我需要显示来自两个不同相关表的列,用于索引操作但是我收到了这个错误,我无法弄清楚,我应该如何解决任何问题请帮忙

Trying to get property of non-object

在这一行

<?php echo CHtml::encode($data->producerOfferUserRelation->name); ?>
<br />

我的模型代码

public function relations()
{
return array(
'producerOfferVegetableRelation' => array(self::BELONGS_TO, 'Vegetable', 'vegetable_id'),
'producerOfferUserRelation' => array(self::BELONGS_TO, 'User', 'user_id'),
'producerOfferVegetableViaCodeRelation' => array(self::BELONGS_TO, 'Vegetable', 'code'),
);
}


public function attributeLabels()
{
return array(
'producerOfferUserRelation.name' => 'Offered By',
'producerOfferVegetableRelation.name' => 'Offered Vegetable',
'offered_qty' => 'Offered Qty(/KG)',
'unit_cost' => 'Unit Cost(RS/KG)',
'unit_delivery_cost' => 'Unit Delivery Cost(RS/KM)',
'offered_date' => 'Offered Date',
'booking_status' => 'Booking Status',
'booked_by' => 'Booked By',
'available_days' => 'Available Days',
);
}

我在 Controller 中的索引操作

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>

我的 _view.php 代码

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

这就是你得到错误的原因

Trying to get property of non-object

关于php - CListView Action 索引的 Yii 关系表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22280817/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com