CakePHPでクエリを実行したり、CakePHPでルートを実行したりすることについての最初のことはわからないので、質問の解決策を見つける方法すらわかりません。多分あなたは助けることができます。
ユーザーが次の場所にアクセスできるようにしたい:
http://www.domain.com/movies/1
また
http://www.domain.com/movie-nickname
どちらも「ページ」コントローラー、「表示」アクションにアクセスします。そして、両方ともページID=1を考え出す必要があります。
(単にhttp://www.domain.com/pages/1にアクセスしてほしくない)
各ページにはURLのニックネームがありますが、空白のままにすると、最初の例に示すように、URLはhttp://www.domain.com/CATEGORY/PAGEになります。
ニックネームが空白のままになっていない場合、ルート内で「SELECT id FROM pages WHERE nickname ='nickname'」というクエリを実行する方法はありますか?
さらに、ページテーブルのニックネームが「thisthat」の場合、URLはhttp://www.domain.com/this-thatである必要があります。つまり、ハイフンをスペースに置き換えてからクエリを実行する必要があります。 。
最初のURLのルートは次のとおりです。
Router::connect(
'/:category/:page',
array('controller' => 'pages', 'action' => 'view'),
array(
'pass' => array('page'),
'page' => '[0-9]+',
'category' => 'shows|music|games|books|hobbies'
)
);
私が探している2番目のオプションは可能ですか?