我有一个名为 Posts 的模型,其中包含一个名为 slug 的字段。我想创建一个路由功能来基本上做到这一点:www.mysite.com/slug。所以,我创建了一个在 routes.php 文件中使用的 Slug 类,看起来像这样,但它不像我想要的那样工作:
class SlugRoute extends CakeRoute {
function match($url)
{
App::import('Model', 'Post');
$Post = new Post();
$Post->find('first', array('conditions' => array('Post.slug' == $url)));
$id = $Post['id'];
return $id;
}
}
这是我在 routes.php 文件中的代码行:
Router::connect('/:slug', array('controller' => 'posts', 'action' => 'view'), array('routeClass' => 'SlugRoute'));
我要做的就是在我的帖子上执行搜索,以将 URL 中的输入 slug 与我数据库中的内容匹配,然后返回 ID 并自动链接到该 ID。
我究竟做错了什么?提前致谢!!