Mysql 科哈纳3.2选择问题
我的数据库中有“服务器”名称的表。所以,当我想用代码添加一些数据时,就可以了:Mysql 科哈纳3.2选择问题,mysql,ajax,kohana,Mysql,Ajax,Kohana,我的数据库中有“服务器”名称的表。所以,当我想用代码添加一些数据时,就可以了: public function action_add() { $serverGameId = (int)Arr::get($_POST, 'serverGameId', ''); $newServerName = Arr::get($_POST, 'newServerName', ''); try { $serve
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获取所有服务器,但没有'->where',它也无法工作
有什么想法吗?试试print\r($server)代码>内部尝试
块以查看您从模型中获得的内容
而$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();
}