【问题标题】:Cakephp loadModel bindmodel not workingCakephp loadModel bindmodel不起作用
【发布时间】:2011-11-21 21:05:00
【问题描述】:

我有 hasMany Through 表,它是带有 Chat 模型的 Chats 表,我在 User 控制器中使用 loadModel 来加载 Chat 模型,然后运行下面的查询以使用 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')
));

我想将这些表连接在一起,但这似乎不适用于我尝试使用普通 SQL 查询的 Cake 方式,它工作正常。

这里有什么问题?

【问题讨论】:

  • 这对我有用。您是否正确设置了 $user_id 的值?

标签: php cakephp


【解决方案1】:

您是否尝试在查找之前设置递归属性?例如:

$this->Chat->recursive = 3;

您可能需要在$this->Chat->bindModel 之后进行设置,但我不确定这是否会有所作为。您还需要在每次查找之前重新绑定用户模型,例如,如果您的查找查询在循环中运行...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-06
    • 1970-01-01
    • 2021-11-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多