2012-01-07 7 views
1

/posts/view/idを/ posts/view/コードに置き換えるにはどうすればよいですか?CakePHPのIDを置き換えるURL

コードは、mt_rand()関数を使用して生成された10個の乱数を含むデータベース内のフィールドです。 PostsControllerの中

私が記事を閲覧するため、この機能を持っている:

public function view($id = null) { 
    $this->Post->id = $id; 
    $this->set('post', $this->Post->read()); 
} 

は今、私の代わりにIDコードを使用します。

ありがとうございました!

UPDATE :::

CakePHPのQ & Aから誰かが私の問題を解決しました。

誰かが同じ解決策を必要とする場合は、ここにコードを記入しますので、ここで見つけることができます。あなたのroutes.phpの中

は、このコードを追加:あなたのコントローラで

Router::connect('/posts/view/:code', array('controller' => 'news', 'action' => 'view'), array('pass' => array('code'))); 

は次のように表示方法を変更します。

public function view($code = null) { 
    $this->set('post', $this->Post->findByCode($code)); 
} 

はどうもありがとうございました!

+0

なぜルーティングに触れる必要がありますか?あなたの質問は非常に奇妙に言われているか、ルートを使用することは過剰です。 – Dave

答えて

1

が、私はあなたがCakePHPでは、ルーティング見るべきだと思う、あなたはURLの書き換えを変更する必要があり

0

私は/ posts/view/id/codeのようなURLだと思います。そして、IDを使用して、データベースからコードをつかむ:私は、CakePHP

わずか数回使用

public function view($id = null, $code = null) { 
    $this->Post->id = $id; 
    //..DO CAKEPHP QUERY TO GET CODE USING ID HERE. ASSIGN TO $code. 
    $this->Post->code = $code; 
    $this->set('post', $this->Post->read()); 
} 
+0

いいえ、/ posts/view/idから/ posts/view/codeまでです。 。 URLのid部分をコードに置き換える –

関連する問題