你将如何返回由JQuery AJAX访问的两组Array数据?

时间:2010-07-29 11:48:43

标签: cakephp cakephp-1.2

我正在学习cakePHP 1.26。和JQuery
在Controller中,我用这些代码行得到了两个动作:

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
}

如何返回JQuery AJAX访问的两组Array数据($ a和$ b)?

如果可以,请帮忙。

3 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分: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 ) )
}

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

答案 2 :(得分: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以获取有关通过关联链接模型的信息。

希望有所帮助。