2014-12-30 25 views
0

我從以前的應用程序遷移,而大的變化,但在以前的CGRIDVIEW我用 $數據[名]的屬性列報價在Cgridview與DAO

'columns'  => array(
    array(
     'header'  => 'idimm', 
     'value'  => '$data[idimm]', 
     'filter'  => false 
     'htmlOptions' => array('style' => 'width:15px;text-align:right;padding-right:10px;') 
    ), 

現在它給我一個錯誤

Use of undefined constant idimm - assumed 'idimm' 

我修復只是引用「$數據[」 idimm「]

我怎麼會錯過和被定義在哪裏?

我更改了服務器和php版本,是或是Yii事件?

當前的PHP版本是5.4 與以前5.3沒有錯誤與EVAL爲$數據[idimm]

警予是在這兩種情況下的版本1.1.15

+0

你嘗試過:''$數據 - > idimm''? –

+0

順便說一句,在網格視圖列配置中,您可能需要是「值」還是「名稱」參數。 –

+0

我現在試圖只是爲了重播,並給出了「試圖獲得非對象的屬性」,因爲dataprovider是DAO和返回數組,你是正確的價值坐在示例是不需要的,但只是一個例子,我刪除和問題仍然有效。不管怎麼說,還是要謝謝你。 –

回答

0

在CGridView列配置,您可能需要是否valuename參數(我不知道文檔在這個問題上的位置,但是我在Yii的錯誤調試信息中看到了它)。

剛剛離開其中一個和value屬性您更好的使用對象訪問標記:

'value' => '$data->idimm', 
+0

再次感謝,但正如我寫回你的commet我'使用DAO返回數組不是對象,你是正確的值在這個例子中是不需要的,但只是一個例子,我刪除和問題仍然有效。不管怎麼說,還是要謝謝你。 –

+0

@LucaMarletta,如果DAO只返回一個數組,那麼你可以使用:''value'=>'$ data [「idimm」]'', –