因此,我放弃了上述所有内容,并决定将我想用 ajax 显示的列移动到主网格中的不同网格中,但由于某种原因,我收到了这个错误:
试图获取非对象的属性
/var/www/html/framework/base/CComponent.php(607) : eval()'d code(1)
<?php
$this->breadcrumbs=array(
'Fund Admin'=>array('/FundAdmin/index/'),
'Contract Notes'=>array('index'),
'List',
);
$user = Yii::app()->user;
$this->menu=array(
array('label'=>'Fund Prices', 'url'=>array('/FundPrice/index'), 'visible'=>$user->checkAccess('listFPrice')),
array('label'=>'Reports','url'=>array('/FundAdmin/index'), 'visible'=>$user->checkAccess('listReports')),
array('label'=>'Create Contract Note', 'url'=>array('create'), 'visible'=>$user->checkAccess('createCNote')),
array('label'=>'Audit Contract Note', 'url'=>array('auditList'), 'visible'=>$user->checkAccess('auditListClient')),
//array('label'=>'Audit Contract Note Item', 'url'=>array('/ContractNoteItem/auditList'), 'visible'=>$user->checkAccess('auditListClient')),
);
Yii::app()->clientScript->registerScript('search', "
$('.search-button').click(function(){
$('.search-form').toggle();
return false;
});
$('.search-form form').submit(function(){
$.fn.yiiGridView.update('contract-note-grid',{
data: $(this).serialize()
});
return false;
});
");
?>
<h1>List Contract Note</h1>
<p>
You may optionally enter a comparison operator (<b><</b>, <b><=</b>, <b>></b>, <b>>=</b>, <b><></b>
or <b>=</b>) at the beginning of each of your search values to specify how the comparison should be done.
</p>
<?php echo CHtml::link('Advanced Search','#',array('class'=>'search-button')); ?>
<div class="search-form" style="display:none">
<?php $this->renderPartial('_search',array(
'model'=>$model,
)); ?>
</div><!-- search-form -->
<?php
//$data=NULL;
$this->widget('zii.widgets.grid.CGridView', array(
'id'=>'contract-note-grid',
'dataProvider'=>$model->search(),
'filter'=>$model,
'columns'=>array(
array(
'name'=>'cn_fund_house_id',
'type'=>'raw',
'value'=>'$data->cnFundHouse->fh_name',
),
array(
'name'=>'contractNoteItems.cni_fund_id',
'type'=>'raw',
'value'=>'$data->contractNoteItems->f_name',
),
array(
'name'=>'contractNoteItems.cni_isin',
'type'=>'raw',
'value'=>'$data->contractNoteItems->cni_isin',
),
array(
'name'=>'contractNoteItems.cni_client_account_no',
'type'=>'raw',
'value'=>'$data->contractNoteItems->cni_client_account_no',
),
'cn_investment_date',
//'cn_settlement_date',
array(
'class'=>'CButtonColumn',
'deleteConfirmation'=>'Are you sure you want to retire this item?
This item needs to be audited for retirement to take effect.',
'template'=>'{view}{update}{delete}',
'buttons'=>array(
'view' => array
(
'label'=>'view',
'url'=>'Yii::app()->controller->createUrl("contractNoteItem/view",array("id"=>$data->getCNIid($data->id)))',
'visible'=>"Yii::app()->user->checkAccess('editFund')",
),
'update' => array
(
'label'=>'edit',
'url'=>'Yii::app()->controller->createUrl("edit",array("id"=>$data["id"]))',
'visible'=>"Yii::app()->user->checkAccess('editFund')",
),
'delete' => array
(
'label'=>'retire',
'url'=>'Yii::app()->controller->createUrl("retire",array("id"=>$data["id"]))',
'visible'=>'$data->checkIfRetired($data["id"])',
)
)
),
),
));
?>
并且特定的错误出现在 )); 就在 php 结束标记之前,所以我不明白。如果我评论除第一个数组和 CButtonColumn 数组之外的每个数组的“值”,我不会收到错误,因为我只是没有用数据填充字段。所以我真的不明白为什么会这样做,因为模型中的所有内容都定义正确。
另请注意,当我将文件上传到我的实时服务器时,我没有收到错误,但这些列没有显示这些列:
array(
'name'=>'contractNoteItems.cni_fund_id',
'type'=>'raw',
'value'=>'$data->contractNoteItems->f_name',
),
array(
'name'=>'contractNoteItems.cni_isin',
'type'=>'raw',
'value'=>'$data->contractNoteItems->cni_isin',
),
array(
'name'=>'contractNoteItems.cni_client_account_no',
'type'=>'raw',
'value'=>'$data->contractNoteItems->cni_client_account_no',
),
实时服务器 php 是 5.3.27,而我的本地服务器是 5.3.3,所以我不知道为什么我在本地收到错误。无论如何,我的问题是关于那里的数据没有显示并给我本地服务器上的错误。