2012-06-19 68 views
1

我有CI的問題。我有一個模型:CodeIgniter - 無法設置路由

public function Game($id) { 
    $id = (int)$id; 

    $q = $this -> db -> get_where('games', array('id' => $id)); 
    return $q -> row_array(); 
} 

控制器它:

public function index($gameID) { 
    $data['game'] = $this->games_model->Game($gameID); 
    $this -> load -> view('games/game', $data); 
} 

而且有問題;)我已經把我的路由如下:

$route['games/(:num)'] = 'games/game/$1'; 
$route['games'] = 'games/game/game'; 

但它不工作在所有。我的控制器目錄是games/game.php(內部有功能Game)。我的問題是 - 我怎麼能通過$id呢?我對CI很陌生,但在文檔中找不到解決方案。

+0

你得到什麼錯誤?路由看起來很好,但我對你的控制器結構有點困惑。 – Shomz

+0

我越來越404了。你爲什麼困惑? –

+0

太多遊戲...... :)現在嚴重的是,只有在路由URL(例如'games/21')或完整的網址('遊戲/遊戲/ 21'或'遊戲/遊戲/的index.php/21' )? – Shomz

回答

0
$route['games'] = 'games/game/index'; // Folder/Controller/Function 
$route['games/(:num)'] = 'games/game/index/$1'; // Folder/Controller/Function/Method 
$route['games/(:num)/(:any)'] = 'games/game/index/$1/$2'; 

如果你想使用蛞蝓,url_title($title, 'underscore', TRUE)它幫助你

0

您可以使用remap或者您將不得不再次修改您的路線路徑。看看this的問題,這裏已經提到了這個問題。