【发布时间】:2012-09-25 09:46:09
【问题描述】:
可能是一个愚蠢的问题。
由于我的控制器和模型太大(我也不想弄乱旧模块),我想创建一个新的控制器和模型,并且我想将代码与现有代码分开......也就是说,我想将一些代码从用户控制器和用户模型移动到计费控制器和计费模型(没有 billings 表,所有信息都存储在 users 表中,所以我给出了 useTable='users')。我不想执行用户模型中编写的任何代码,在执行 billings 控制器时,只需要执行 BillingModel 代码。
业务控制器
class BillingsController extends AppController
{
function add()
{
if (!empty($this->request->data))
{
$this->Billing->create();
if ($this->Billing->save($this->request->data))
{
echo 'Saved'; // Message, redirect etc
}
}
}
}
计费模式
class Billing extends AppModel {
public $useTable = 'users';
public $hasOne = array('Profile');
public $validate = array(
'email' => array(
'email' => array(
'rule' => 'email',
'message' => 'Please provide a valid email address.',
'last' => true,
),
'first_name' => array(
'notempty' => array(
'rule' => array('notempty'),
'message' => 'Please enter your name',
),
)
);
}
所有表单字段都将以 data[Business] 作为前缀。
数据已正确保存到数据库中。我只是想知道,这种方法有什么问题吗?
【问题讨论】: