在cakephp页面强制属于关系
我想强制加入cakephp的页面函数。 用户有消息,这意味着它将是属于用户的消息。 我必须在列表中显示它们,所以我需要在这里使用分页。 问题是它没有显示我我打算结合 我的代码模型的记录:在cakephp页面强制属于关系
$userId = $this->Session->read('SESSION_ADMIN.id'); $this->helpers['Paginator'] = array('ajax' => 'Ajax');
$this->Message->bindModel(
array(
'belongsTo'=>array(
'Npo'=>array(
'className' => 'Npo',
'foreignKey' => 'reciever_id',
'fields' => 'Npo.username'
)
)
)
);
$this->paginate = array('conditions'=>array('Message.sender_id'=>$userId,'Message.sender'=>'Admin'),
'order' => array('Message.modified DESC'),
'limit' =>'1'
);
$sentMsg = $this->paginate('Message');
//$sentMsg = $this->Message->find('all');
pr($sentMsg);die();
当我取消对FIND声明它为我的纪录,但在PAGINATE的情况下,它不。 另外,它并没有显示我在页面查询中的连接,但它在计数记录。 任何人都有一个想法。我不想使用paginate加入here.Is有办法强制一个属于这里吗?
问候 人士Himanshu夏尔马
回答:
你试过:
$this->Message->bindModel( array(
'belongsTo'=>array(
'Npo'=>array(
'className' => 'Npo',
'foreignKey' => 'reciever_id',
'fields' => 'Npo.username'
)
)
), false // Note the false here!
);
的分页程序实际上执行两个查询:一个来计算记录的总数,以及一个真正获取所需的记录。默认情况下,在每个查询后重置使用bindModel()
即时创建的关联。它依赖于Cake哪个查询首先出现,但我相信在你的情况下它是count查询;没有关联就留下实际的结果查询。在bindModel()的第二个参数上设置false
,可以防止关联在第一个查询后重置。
以上是 在cakephp页面强制属于关系 的全部内容, 来源链接: utcz.com/qa/263413.html