web-dev-qa-db-ja.com

プライベートメッセージのエンティティIDは何ですか?

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)とは違いますか?

1
Patrick Kenny

midは正しいことがわかりましたが、何らかの理由で$row['mid']は、intではなく文字列を返していました。文字列をintとして型キャストすると、問題が解決しました。

2
Patrick Kenny