Yii:错误 500 试图获取非对象的 属性
Yii : Error 500 Trying to get property of non-object
我有问题,
当我尝试在我的 Cgridview 中显示 Notrans_FPB 时总是出现错误 500 "Trying to get property of non Object",有人可以帮助我吗?我的代码有什么问题,
谢谢..
这是我的控制器"DafTimbangBahan"
public function actionAdmin()
{
$model=new DafTimbangBahan('search');
$dafFpbs=new DafFpb;
$model->unsetAttributes(); // clear any default values
if(isset($_GET['DafTimbangBahan']))
$model->attributes=$_GET['DafTimbangBahan'];
$this->render('admin',array(
'model'=>$model,
));
}
我的模型 DaftimbangBahan
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(
'dafBpbs' => array(self::HAS_MANY, 'DafBpb', 'Notrans'),
'dafFpbs' => array(self::HAS_MANY, 'DafFpb', 'Notrans'),
'koSup' => array(self::BELONGS_TO, 'Supplier', 'KoSup'),
'koCab' => array(self::BELONGS_TO, 'Cabang2', 'KoCab'),
'bahans' => array(self::MANY_MANY, 'Bahan', 'det_timbang_bahan(Notrans, KoHan)'),
'notransTimbangs' => array(self::HAS_MANY, 'NotransTimbang', 'Notrans'),
);
}
这是我的视图文件
<?php $this->widget('zii.widgets.grid.CGridView', array(
'id'=>'daf-timbang-bahan-grid',
'dataProvider'=>$model->search(),
'filter'=>$model,
'columns'=>array(
array(
'name'=>'dafFpbs.Notrans_FPB',
'header'=>'No. FPB',
'value'=>'$data->dafFpbs->Notrans_FPB',
),
'NoTrans',
array(
'class'=>'CButtonColumn',
),
),
我认为你的关系结构不正确。您的 DafTimbangBahan
模型中有 'dafFpbs' => array(self::HAS_MANY, 'DafFpb', 'Notrans')
。这意味着每 DafTimbangBahan
条记录有许多 Notrans
条记录。所以 $data->dafFpbs
将是一个 数组 ,而不是一个对象。因此 $data->dafFpbs->Notrans_FPB
导致 "Trying to get property of non object" 错误。要解决此问题,您应该使用 'value'=>'$data->dafFpbs[0]->Notrans_FPB'
(以 0 为例)isstead.
我有问题, 当我尝试在我的 Cgridview 中显示 Notrans_FPB 时总是出现错误 500 "Trying to get property of non Object",有人可以帮助我吗?我的代码有什么问题, 谢谢..
这是我的控制器"DafTimbangBahan"
public function actionAdmin()
{
$model=new DafTimbangBahan('search');
$dafFpbs=new DafFpb;
$model->unsetAttributes(); // clear any default values
if(isset($_GET['DafTimbangBahan']))
$model->attributes=$_GET['DafTimbangBahan'];
$this->render('admin',array(
'model'=>$model,
));
}
我的模型 DaftimbangBahan
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(
'dafBpbs' => array(self::HAS_MANY, 'DafBpb', 'Notrans'),
'dafFpbs' => array(self::HAS_MANY, 'DafFpb', 'Notrans'),
'koSup' => array(self::BELONGS_TO, 'Supplier', 'KoSup'),
'koCab' => array(self::BELONGS_TO, 'Cabang2', 'KoCab'),
'bahans' => array(self::MANY_MANY, 'Bahan', 'det_timbang_bahan(Notrans, KoHan)'),
'notransTimbangs' => array(self::HAS_MANY, 'NotransTimbang', 'Notrans'),
);
}
这是我的视图文件
<?php $this->widget('zii.widgets.grid.CGridView', array(
'id'=>'daf-timbang-bahan-grid',
'dataProvider'=>$model->search(),
'filter'=>$model,
'columns'=>array(
array(
'name'=>'dafFpbs.Notrans_FPB',
'header'=>'No. FPB',
'value'=>'$data->dafFpbs->Notrans_FPB',
),
'NoTrans',
array(
'class'=>'CButtonColumn',
),
),
我认为你的关系结构不正确。您的 DafTimbangBahan
模型中有 'dafFpbs' => array(self::HAS_MANY, 'DafFpb', 'Notrans')
。这意味着每 DafTimbangBahan
条记录有许多 Notrans
条记录。所以 $data->dafFpbs
将是一个 数组 ,而不是一个对象。因此 $data->dafFpbs->Notrans_FPB
导致 "Trying to get property of non object" 错误。要解决此问题,您应该使用 'value'=>'$data->dafFpbs[0]->Notrans_FPB'
(以 0 为例)isstead.