0

我正在学习 cakePHP 1.26。和 JQuery
在控制器中,我用这些代码行执行了两个操作:

function testing(){
$a = $this->User->findallByuser_id(1);
$b = $this->User->Post->findallByuser_id(1);

return a+b; // I was trying to return Array data $a and $b
}

您将如何返回两组数组数据($a 和 $b)以供 JQuery AJAX 访问?

如果可以,请提供帮助。

4

3 回答 3

3

我会使用json_encode/json_decode,当你在你身上访问它时,你可以在客户端使用 $.parseJSON(json_strong) 来将它转换为对象。

于 2010-07-29T12:26:46.787 回答
3

这基本上是 Nik 的回答,我完全同意他的观点,但我认为一个例子可能有用:

function testing(){
  $a = $this->User->findallByuser_id(1);
  $b = $this->User->Post->findallByuser_id(1);

  return json_encode( array( 'User' => $a, 'Posts' => $b ) )
}

这就是我所做的,我发现它非常有效。

于 2010-07-29T12:59:22.793 回答
0

您需要在用户和他的帖子之间建立关系,可能是 HasMany 关系。完成设置后,您需要这样的查询

$query['conditions'] = array('User.id' => $user_id);
$query['contain'] = array('Post');
$data = $this->User->find('all', $query);

有关使用 Containable 的信息,请参阅http://book.cakephp.org/view/1323/Containable。有关通过关联链接模型的信息,另请参阅http://book.cakephp.org/view/1039/Associations-Linking-Models-Together

希望有帮助。

于 2010-07-29T12:03:52.487 回答