2010-11-14 40 views
0

我想学习一点jQuery和更多关于kohana框架。好吧,我写了一个简单的测试脚本来从数据库中获取一些条目。 PHP的工作原理是以json格式返回行,但我想我的jQuery不工作。Jquery json请求和Kohana

该json是假设返回多行,所以我想它将所有这些添加到#chats股利。 这里是我的jQuery代码:

$(document).ready(function(){ 
$.getJSON('json/get_chat_entries/1', 
function(data) { 
    $('#chats').append('<li>' + data.text + '</li>'); 
} 
}); 
}); 

的get项代码是假设抢匹配chat_id数据库中的所有条目。现在写它似乎只是返回第一个条目。 这里是我的GET条目代码:

function get_entries() 
{ 
    $entries= $result = DB::select()->from('chat_entries')->where('chat_id', '=', $this->chat_id)->execute()->current(); 

    return $entries; 
} 

这是控制器代码:

public function action_get_chat_entries(){ 
    $chat_id = $this->request->param('id'); 
    $chat = new Model_Chat($chat_id); 
    echo json_encode($chat->get_entries()); 
} 

回答

1

只需从get_entries()方法去除->current()

1

清理了位:

型号:

public function get_entries() 
{ 
    if (!$this->_loaded) 
     return array(); 

    return DB::select() 
     ->from('chat_entries') 
     ->where('chat_id', '=', $this->chat_id) 
     ->execute($this->_db); 
} 

控制器:

public function action_get_chat_entries() 
{ 
    $id = $this->request->param('id', FALSE); 
    $chat = new Model_Chat($id); 

    $this->request->headers['Content-Type'] = 'application/json'; 
    $this->request->response = json_encode($chat->get_entries()); 
} 
0
$results = DB::select(...)->from(...)->where(...)->execute(); 
echo json_encode(iterator_to_array($results));