对cakephp来说是全新的,并且真的很难理解文档。
我正在努力的想法是出租物业搜索。我有控制器租赁控制器
在这里,我有索引,我取了所有
我还有一个侧栏,列出了区域
现在,我想要发生的是让用户查看索引,然后转到侧边栏并选择他们想要租用的区域。该URL应为.com / rental / region-name /
这将调用(这里可能是错的)rentalController> byRegion($ region){fetch ....)
我如何a)设置路由来管理它和b)收集传递区域的功能。
很抱歉,如果这个基本但是我已经搜索过了,现在我要想一想 - 正如你可以想象的那样 - 我们一直都在这里学习一种新的做事方式。
感谢您的反馈 - Mark
修改
终于到了那里:
Router::connect(
'/rentals-in-:region.html',
array( 'controller' => 'rentals', 'action' => 'byRegion' ),
array( 'region' => '[a-zA-Z0-9\-]+', 'pass' => array('region'),
));
答案 0 :(得分:1)
a)如果你是新手,我不建议你在路线文件中玩。 如果您遵循cake的约定,您可以通过调用/ rental / by_region / {region_name}来访问您的RentalsController :: byRegion($ region)操作。
不要忘记创建您的视图文件app / View / Rentals / by_region.ctp
b)中 假设您的租赁表有一个区域字段:
public function byRegion ($region){
$this->set ('rentals', $this->Rental->find ('all', array (
'conditions' => array (
'Rental.region LIKE' => $ region
)
)));
修改强>:
比你正在寻找:
Router::connect(
'/rentals/:region',
array('action' => 'byRegion'),
array('region' => '{your regex matching region}')
);
将此添加到路线文件中。你现在应该可以像你提到的那样调用网址。 应该工作,但我还没有测试过。