2014-01-10 27 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