2014-01-10 64 views
0
$wrapper = entity_metadata_wrapper('myentity',$entity); 
$data[$key]['field_test'] = $wrapper ->field_test ->value(); 

上述代碼工作正常,但它不起作用,如果我用變量替換鏈接屬性。使用變量鏈式方法使用

$field_name = 'myfield'; 
$wrapper = entity_metadata_wrapper('myentity',$entity); 
$data[$key][$field_name] = $wrapper ->$field_name ->value(); 

錯誤:「PHP錯誤:函數名稱必須是一個字符串」

我該如何解決此問題?謝謝

+2

' - > {$ FIELD_NAME} - >' –

回答

2

變化:

$data[$key][$field_name] = $wrapper->$field_name->value(); 

$data[$key][$field_name] = $wrapper->{$field_name}->value(); 

見:: Curly Syntax

+0

謝謝!在閱讀你的連接之後,我再次嘗試。令人驚訝的是,這次它工作,即使沒有花括號。它必須是別的東西,以前它不工作。問題已經解決了。 – benson

+0

@benson如果它解決了你的問題,你把它標記爲已接受的答案。 –

+0

對不起!我把它標記爲已解決 – benson