Php Kohana-在ORM::Save之前向查询添加值
我正在使用ORM将用户注册数据保存到数据库中。代码如下Php Kohana-在ORM::Save之前向查询添加值,php,kohana,Php,Kohana,我正在使用ORM将用户注册数据保存到数据库中。代码如下 if ($_POST) { $user = Model::factory('member'); $post = $user->validate_create($_POST); if ($post->check()) { $user->values($post); $user->save(); // redirect to create gall
if ($_POST) {
$user = Model::factory('member');
$post = $user->validate_create($_POST);
if ($post->check()) {
$user->values($post);
$user->save();
// redirect to create gallery.
}
}
我有一些值,例如
UserType
,它不是$\u POST
的一部分,但必须作为用户注册的一部分保存在members
表中。更改$post
的值并向其添加UserType
是一个好主意,还是有其他建议的方法来实现这一点?可以更改$post
,因为它只是一个数组,包含了从请求中获取的值
您可以通过编辑$post
数组:
$post['usertype'] = 'customer';
$user->values($post);
$user->save();
或者,您可以直接为ORM对象设置值:
$user->values($post);
$user->usertype = 'customer';
$user->save();
这两种方法都可以您可以在表单中使用隐藏输入。例如:
Form::hidden('usertype', 'customer');
如果不想更改$\u POST数组。
如果要检查用户是否正在发送$\u POST请求,请使用Kohana的方法:
if($this->request->method() === Request::POST) {}
而不是:
if($_POST)
顺便说一下,通过以下方式获取$u POST数据:
$post = $this->request->post();