Cakephp loadModel bindmodel не работает - PullRequest
0 голосов
/ 22 ноября 2011

У меня есть таблица hasMany Through, которая представляет собой таблицу чатов с моделью чата, и я использую loadModel в контроллере пользователя для загрузки модели чата, а затем запустил запрос ниже к bindModel с Chat.user_id и User.id:

$this->loadModel('Chat');

$this->Chat->bindModel(array(
  'belongsTo' => array(
    'User' => array(
      'foreignKey' => false,
      'conditions' => array('Chat.user_id = User.id')
    )
  )
));

$lastChat = $this->Chat->find('all', array(
  'conditions' => array(
    'Chat.receiver_id' => $user_id['User']['id']
  ),
  'order' => array('Chat.id DESC'),
  'fields' => array(
    'Chat.id',
    'Chat.chat',
    'Chat.user_id',
    'Chat.receiver_id',
    'Chat.read',    
    'Chat.created'
  ),
  'group' => array('Chat.user_id')
));

Я хочу объединить эти таблицы вместе, но, похоже, это не работает Cake, как я пытался с обычным SQL-запросом, и он отлично работает.

Что здесь может быть не так?

1 Ответ

0 голосов
/ 22 ноября 2011

Вы пытались установить рекурсивное свойство перед находкой? Например:

$this->Chat->recursive = 3;

Возможно, вам придется установить это после $this->Chat->bindModel, но я не уверен, будет ли это иметь значение или нет. Вам также нужно будет повторно привязать модель User перед каждым поиском, если, например, ваши запросы поиска выполняются в цикле ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...