我是cakephp的新手,我正在尝试使用以下代码将数据添加到我的优惠券表中。
在我的UsersController中,我有:
public function addCoupon() {
if ($this->request->is('post')) {
if ($this->Coupon->save($this->request->data)) {
$this->Session->setFlash(__('The data has been saved'));
} else {
$this->Session->setFlash(__('The data could not be saved. Please, try again.'));
}
}
}
在我的add_coupon.cpt中,我有:
<?php
echo $this->Form->create('Coupon',['url' => ['action' => 'addCoupon']]);
echo $this->Form->input('coupon_code');
echo $this->Form->input('expiration_date');
echo $this->Form->input('discount_amount');
echo $this->Form->input('usage_limit');
echo $this->Form->input('domain_limit');
echo $this->Form->input('description');
echo $this->Form->input('type');
echo $this->Form->button('Submit');
echo $this->Form->end();
?>
我的代码出了什么问题?
答案 0 :(得分:0)
如果您的模型实际上名为Coupon
(单数)而不是Coupons
(复数),请尝试在$this->Coupon->save(this->request->data)
之前的任何位置添加以下代码行:
$this->loadModel('Coupon');
但是,如果它按照惯例的规定实际命名为Coupons
,请将$this->Coupon->save(this->request->data)
更改为$this->Coupons->save(this->request->data)
并添加此行:
$this->loadModel('Coupons');
默认情况下,Users控制器仅加载Users模型。如果您使用任何其他模型,则需要load them manually。或者,您可以将所有这些移动到Coupons控制器,它可能在任何地方。