我对(例如)名为Message的模型有一个控制器操作。这非常简单,并且允许系统记录关于预订发送的消息(模型称为预订)。控制器发送电子邮件并将电子邮件的内容记录到消息表中。一旦完成,我需要减少可用预订的数量。cakephp saveField递减或替代
$this->loadModel('Booking');
$this->Booking->id = $bookingID;
$this->Booking->saveField('booking_allotment', 'booking_allotment - 1');
上面的代码是我到目前为止,但它不起作用。而不是减少分配,它将它设置为0.如果我硬编码一个数字,它将用该硬编码数字更新。
这个问题其实有两个部分。首先,我从阅读文档和研究中获得的解决方案比我需要的更加复杂。我明白,通过包括...
$this->loadModel('Booking');
...我将运行我不需要以及它根本不工作的表之间的所有关系。
如果我不使用蛋糕,UPDATE查询将会非常简单。是否有更简单的替代方案可以起作用?或者,如果没有,任何人都可以帮助我实现我需要做的事情?我正在使用cakePHP 2.3
如果你明白你正在破坏你的关系 - 那你为什么要这么做? – pudelhund
你想用'booking_allotment - 1''实现什么?您是否尝试减少在booking_allotment字段中设置的值? – pudelhund