Php Kohana-在ORM::Save之前向查询添加值

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

我正在使用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
,它不是
$\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();