如何将输入数据保存到不同名称的数据库列?
问题描述:
基本上,我有一些代码,验证我的输入(这是它的一部分):如何将输入数据保存到不同名称的数据库列?
'r_email' => array(
'exist' => array(
'rule' => 'checkEmailExist',
'message' => 'That email has already been used.'
),
'required' => array(
'rule' => array('notEmpty'),
'message' => 'The email field must not be blank.'
),
'valid' => array(
'rule' => 'email',
'message' => 'You must enter a valid email address'
),
),
所以我要在确定我的验证规则和他们的工作时,我做的事:
if ($this->User->save($this->request->data)) {
我输入形式是这样(对于上述验证):
echo $this->Form->input('r_email', array(
'type' => 'text',
'label' => 'Email Address',
'div' => false
));
但在我的数据库中的列具有不同的名称的形式输入,因此,我假定数据将不保存因为它没有链接。我不知道我如何解决这个问题,并将数据保存到我的专栏?
答
可以使用$这 - > YourModelName-> expectedfield = $这个 - >数据[MODELNAME] [r_email]
这里YourModelName将代表哪个表,你会插入这个r_email和expectedFirled表明,该场你会插入r_email。
得到答案,如果你不能,你可以回复更多的信息。
答
您可以通过添加特定的键/值对的options
阵列的FormHelper::input
echo $this->Form->input('r_email', array(
'type' => 'text',
'label' => 'Email Address',
'div' => false,
'name' => 'data[User][field_in_database]'
));
指定
input
的name
属性如果你比你的数据库列有不同的命名输入,那么我相信你不使用蛋糕形式的帮手。如果您使用表单助手,让它命名字段,那么您将不必担心将数据重新映射到模型 – keithhatfield 2012-07-12 17:48:15我正在使用表单助手。但是我对同一个模型中的用户名,密码等有不同的验证规则。例如,我想在注册时检查用户是否已经存在,但登录时我不需要。 – Peza 2012-07-12 17:51:04