プログラムでノードを作成しています。私は次のコードを書きました、
$e = entity_create('node', array('type' => 'some_node'));
// Specify the author.
$e->uid = 1;
// Create a Entity Wrapper of that new Entity.
$entity = entity_metadata_wrapper('node', $e);
// Specify the title.
$entity->title = 'Some Title';
$entity->body = 'abc';
$entity->save();
ボディに値を与えると、次のエラーが発生します。コメント本文うまくいきます
EntityMetadataWrapperException:無効なデータ値が指定されました。必要なデータ型と形式に一致していることを確認してください。 EntityMetadataWrapper-> set()
このエラーの原因と修正方法を教えてください。
本文はフィールドAPIフィールドであり、ネイティブのPHP変数ではないため、そのように値を割り当てることはできません。代わりに、次のキーを使用して配列を渡す必要があります。
$entity->body->set(array(
'value' => 'This is the body',
'summary' => 'This is the summary',
'format' => 'full_html',
));
特定の言語の値を設定する場合は、設定する前に呼び出します。
$entity->language(LANGUAGE_NONE); // or 'en' or whatever
ラッパーの詳細: https://drupal.org/node/1021556
以下のコードを使用してみてください
$entity->body->set(array('value' => "abc"));