entity_load()
を使用していくつかのプライベートメッセージにアクセスしたいのですが、エンティティIDがそれらを呼び出すものがわかりません。メッセージID(mid)を持っていますが、機能していないようです。
私は次のような個々のメッセージを読み込もうとしています:
_ $message_entity = entity_load('privatemsg_message', array($row['mid']));
_
そして、これがプライベートメッセージがhook_entity_property_info()
を宣言する方法です。
_/**
* Implements hook_entity_property_info().
*/
function privatemsg_entity_property_info() {
$info = array();
// Add meta-data about the basic node properties.
$properties = &$info['privatemsg_message']['properties'];
$properties = array(
'mid' => array(
'type' => 'integer',
'label' => t('Private message ID'),
'description' => t('Private message ID'),
),
'thread_id' => array(
'type' => 'integer',
'label' => t('Private message thread ID'),
'description' => t('Private message thread ID'),
'getter callback' => 'entity_property_verbatim_get',
),
'author' => array(
'type' => 'user',
'label' => t('Private message author'),
'description' => t('Private message author'),
'setter callback' => 'entity_property_verbatim_set',
),
'subject' => array(
'type' => 'text',
'label' => t('Private message subject'),
'description' => t('Private message subject'),
'setter callback' => 'entity_property_verbatim_set',
),
'body' => array(
'type' => 'text',
'label' => t('Private message body'),
'description' => t('Private message body'),
'setter callback' => 'entity_property_verbatim_set',
),
'timestamp' => array(
'type' => 'date',
'label' => t('Private message sent date'),
'description' => t('Private message sent date'),
),
);
return $info;
}
_
プライベートメッセージのエンティティIDを取得するにはどうすればよいですか?メッセージID(mid)やスレッドID(thread_id)とは違いますか?
midは正しいことがわかりましたが、何らかの理由で$row['mid']
は、intではなく文字列を返していました。文字列をintとして型キャストすると、問題が解決しました。