2013-07-13 90 views
0

我在我的數據庫中有'服務器'名稱的表。所以,當我想用​​這些代碼加有一些數據,它只是確定:Kohana 3.2選擇問題

public function action_add() 
    { 
     $serverGameId = (int)Arr::get($_POST, 'serverGameId', ''); 
     $newServerName = Arr::get($_POST, 'newServerName', ''); 

     try 
     { 
      $server = new Model_Server(); 
      $server->Name = $newServerName; 
      $server->GameId = $serverGameId; 
      $server->save(); 
     } 
     catch(ORM_Validation_Exception $e) 
     { 
      echo json_encode(array("success" => false, "errors" => $e->errors('validation'))); 
      return false; 
     } 

     $this->request->headers['Content-Type'] = 'application/json'; 
     echo json_encode(array("success" => true, "serverId" => $server->Id)); 
     return true; 
    } 

這裏是一個模式:

class Model_Server extends ORM { 

protected $_table_name = 'servers'; 

public function rules() 
{ 
    return array(
     'Name' => array(
      array('not_empty'), 
     ) 
    ); 
} 

}

但我有問題,當我嘗試選擇它從表中:

public function action_servers() 
{ 
     $gameId = (int)Arr::get($_POST, 'gameId', ''); 

     if($gameId == -1) return false; 

     try 
     { 
      $servers = ORM::factory('server') 
         ->where('GameId', '=', $gameId) 
         ->find_all(); 
     } 
     catch(ORM_Validation_Exception $e) 
     { 
      echo json_encode(array("success" => false, "errors" => $e->errors('validation'))); 
      return false; 
     } 

     $this->request->headers['Content-Type'] = 'application/json'; 
     echo json_encode(array("success" => true, "servers" => $servers, "gameId" => $gameId)); 
     return true; 
    } 

我已經嘗試解決在try塊內更改代碼的問題:

$servers = DB::select('servers')->where('GameId', '=', $gameId); 

即使當我嘗試從db獲取所有服務器而沒有' - >在哪裏'這是行不通的。

任何想法?

回答

0

嘗試print_r($servers);裏面try塊,看看你從模型中得到什麼。

而且$servers是一些類結果 - 使用的foreach得到的結果(一一)

$results = array(); 

foreach($servers as $row) { 
    //echo $row->Name; 
    $results[] = $row->Name; 
} 

或者

$results = array(); 

foreach($servers as $row) { 
    //echo $row->as_array(); 
    $results[] = $row->as_array(); 
} 
+0

它幫助,謝謝。 –