2010-07-29 14 views
0

我在學CakePHP 1.26。和JQuery
在控制器,我有兩個同碼的這些行的動作:你將如何返回兩組Array數據以供JQuery AJAX訪問?

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訪問的?

如果可以,請幫助。

回答

3

這實質上是聶的回答,我和他完全同意,但我覺得一個例子可能是有用的:

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

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

這是我做的,我發現它是非常有效的。

0

您需要在用戶和他的帖子之間建立關係,或許使用HasMany關係。當你有一個成立,你需要這樣的

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

查詢見http://book.cakephp.org/view/1323/Containable有關使用中可容納的信息。有關通過關聯鏈接模型的信息,另見http://book.cakephp.org/view/1039/Associations-Linking-Models-Together

希望有所幫助。

3

我會使用json_encode/json_decode,當你在你上面訪問時,在客戶端你可以使用$ .parseJSON(json_strong)來將它轉換爲對象。

+0

+1我在自己的答案中添加了一個示例,因爲註釋並不處理代碼,但這正是我所要做的。 – 2010-07-29 12:59:58

相關問題