ご挨拶、
CakePHPのcontainableを使用して、find呼び出しから返されたクエリを破棄しようとしています。
たとえば、UserとPostの2つのモデルがあります。ユーザーhasManyPost。
今私が次のようにfindcallでcontainableを使用しているとき:
$User->id = 1;
$User->find('first', array(
'fields' => array('id'),
'contain' => array('Post')
))
関連する投稿は返されませんが、代わりにユーザーのIDが返されます。
ただし、逆にデータをフェッチしようとしている場合は機能します。つまり、これは機能します:
$Post->find('first', array(
'fields' => array('id', 'user_id'),
'conditions' => array('Post.user_id' => 1),
'contain' => array('User')
))
これはしません:
$Post->find('first', array(
'fields' => array('id'),
'conditions' => array('Post.user_id' => 1),
'contain' => array('User')
))
戻り値から、containableが機能するには、foreignKeyがフィールドに含まれている必要があると思います。
ユーザーの関連付けがPost.user_idに保存されているので、最初の呼び出しでユーザーフィールドを除外するにはどうすればよいですか?
どんな助けでも大歓迎です!ありがとう。
-aw