CakePHP 通过 slug 而不是 ID 过滤列表
我正在使用 CakePHP,这是我的数据库的结构:
CarMakes ---------------------------------- ID Slug Name 16 ford Ford CarModels ---------------------------------- ID Name CarMake_ID 10 Escort 16 Cars ---------------------------------- ID Name CarModel_ID 1 My car 10
我想通过 CarMakes.Slug 查看汽车列表,
因此网址为: http://localhost/cars/ford
有任何想法或一般信息方向吗?
I'm using CakePHP, this is the structure of my DB:
CarMakes ---------------------------------- ID Slug Name 16 ford Ford CarModels ---------------------------------- ID Name CarMake_ID 10 Escort 16 Cars ---------------------------------- ID Name CarModel_ID 1 My car 10
I want to view a list of cars by CarMakes.Slug
so the url would be:
http://localhost/cars/ford
Any ideas or general directions of information?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以使用
findBy()
或findAllBy()
根据 ID 以外的内容检索记录。如果您需要为查询提供条件,请使用常规find()
< /a>:另外,对于您尝试设置的 URL,您需要创建一个 路线为
/cars
:编辑:
如果您的条件基于与模型的直接关联,则上述内容有效。如果您的条件是递归关联(即 Car->CarModel->CarMake),则需要使用显式联接:
You can use
findBy()
orfindAllBy()
to retrieve records based on something other than ID. If you need to supply conditions to the query, use regularfind()
:Also, for the URL you're trying to set up, you will need to create a route for
/cars
:Edit:
The above works if your conditions are based on a direct association on your model. If your conditions are on a recursive association (i.e. Car->CarModel->CarMake), you need to use explicit joins: