请知道如何从链接中将pass参数保存到表中。像localhost / cake / user / sell / basic这样的东西。 'basic'是该链接中的参数。如何在操作中检索并保存它。感谢
答案 0 :(得分:0)
根据您保存到用户表中的假设,它是一条新记录。
<?php
class UserController extends AppController{
public function sell($param = 'basic'){
$this->User->create();
$data = ['myParam' => $param];
$this->User->set($data);
$this->User->save();
// do something else eg redirect somewhere
}
}
如果您要更新用户,则需要将user_id包含为第二个参数,并且您的网址看起来像localhost/cake/user/sell/123/basic
class UserController extends AppController{
public function sell($id, $param = 'basic'){
$this->User->id = $id;
$data = ['myParam' => $param];
$this->User->set($data);
$this->User->save();
// do something else eg redirect somewhere
}
}
另外,cakephp约定是具有多个控制器名称和单个模型名称。因此UserController
应为UsersController
,这会将您的网址重命名为localhost/cake/users/sell/basic
。真正方便地遵循cakephp惯例,以确保您获得最多的蛋糕自动映射等
答案 1 :(得分:0)
使用cakephp请求方法
Eg: Use pr($this->request->params);
It will show all parameter passed in URL.
Suppose you have make link this
echo $this->Html->link(__('add event'), array('controller' => 'events', 'action' => 'add', '?' => array('id' => 123, 'name' => 'sudhir')));
Then inside controller action, just call
pr($this->request->params); // it will shows all details.
您还可以使用请求 查询方法
Inside controller action, just call
$id = $this->request->query['id'];
$name = $this->request->query['name'];
然后使用Cakephp 保存方法将其信息存储在数据库中。