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