【发布时间】:2014-02-21 16:40:03
【问题描述】:
我的 CakePHP Cart 模型/表只有一个字段:id。
它有很多LineItems。
我没有成功单独保存购物车模型:
$this->Cart->create();
$this->Cart->save();
或者,通过传递一个$data数组并使用saveAssociated():
$data = array(
'Cart' => array(),
'LineItem' => array(
array(
'item_id' => $item_id,
'qty' => $qty,
'price_option_id' => $price_option_id
)
)
);
如果我将useless_field 添加到Cart 表/模型中,并在其中传递一些数据保存。所以很明显,问题在于我有一个模型,它的表只有一个 id 字段,并且没有传递任何其他数据来保存。它不会创建它必须假设为“空”的记录。
我已将'validate' => false 传递给saveAssociated 调用,但它没有任何区别(并且此模型没有验证可忽略)。
有没有办法做到这一点?我错过了什么吗?请赐教!
【问题讨论】:
-
嗯,这听起来像是一个尴尬的数据库设计。只有一个主键的购物车表有什么用?检查我的购物车插件,我会说我有一些电子商务和 CakePHP 的经验github.com/burzum/cakephp-cart-plugin
-
这是一款学习玩具。购物车只是为了将 LineItems 绑定到现在,我没有其他特定于购物车的数据要保存。
-
猜猜你可能已经发现了保存的问题,因为它预计会有一些数据存在,因为这是一个非常不寻常的情况。
-
感谢您的回复,burzum。您的插件也非常值得学习。
-
CakePHP 表需要
created和modified字段,或者让您定义自己的字段(即您可以随意调用它们,但它们的作用相同)。
标签: cakephp