另一个yii - 试图获得非对象的属性

时间:2016-05-30 11:26:00

标签: php yii

另一个yii问题,尝试this胸围似乎不起作用。 我有这个错误,还在学习yii

尝试获取非对象的属性     d:\ XAMPP \ htdocs中\亩\保护\视图\谋\ view.php(26)

我错过了什么吗?谢谢。

D:\xampp\htdocs\mou\protected\views\mou\view.php(26)

14             'value'=>Yii::app()->dateFormatter->format('dd/MM/yyyy',$model->tgl_perjanjian),
15         ),
16         array(
17             'name'=>'tgl_awal',
18             'value'=>Yii::app()->dateFormatter->format('dd/MM/yyyy',$model->tgl_awal),
19         ),
20         array(
21             'name'=>'tgl_akhir',
22             'value'=>Yii::app()->dateFormatter->format('dd/MM/yyyy',$model->tgl_akhir),
23         ),
24         array(
25             'name'=>'Mitra KY',
26             'value'=>$model->mitra_mous->mitra->nama,
27         ),
28         'lingkup_kerjasama',
29         'penandatangan',
30         'jabatan_penandatangan',
31         array(
32             'name'=>'file',
33             'type'=>'raw',
34             'value'=>CHtml::link($model->file,Yii::app()->baseUrl . '/files/mou/' .$model->file),
35         ),
36     ),
37 )); ?>

这是我的模特Mitra.php

	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(
			'jenis0' => array(self::BELONGS_TO, 'JenisMitra', 'jenis'),
			'kab0' => array(self::BELONGS_TO, 'Wilayah', 'kab'),
			'prov0' => array(self::BELONGS_TO, 'Wilayah', 'prov'),
			'mitra_mous' => array(self::HAS_MANY, 'MitraMou', 'mitra_id'),
		);
	}

这是模特Mou.php

	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(
			'mitra_mous' => array(self::HAS_MANY, 'MitraMou', 'mou_id'),
			'mitras' => array(self::HAS_MANY, 'Mitra', 'mitra_id','through'=>'mitra_mous'),
		);
	}

2 个答案:

答案 0 :(得分:0)

将第26行更改为以下代码。

使用下面的代码

'value'=>$model->mitras->nama,

答案 1 :(得分:0)

您的mitra_mous关系似乎就是问题所在。由于关系是一对多关系,$ model-> mitra_mous将返回一个数组。您无法尝试从数组中获取属性,因此$model->mitra_mous->mitra无效。也许你只能引用数组中的一个项目,比如$model->mitra_mous[0]->mitra->nama

我不确定这是否能解决您的问题,但至少该行应该有效。

无论如何要小心这个解决方案,因为如果$model->mitra_mous没有元素,代码将失败。哟可能要为这种情况添加一个条件。

希望我有所帮助。

祝你好运!