我如何在cakephp上做这些?
可以将数据从一个表复制到另一个表吗?
下面是我的例子。我有两张桌子,仓库和陈列室。
我的仓库表有(product_id和stock_quantity),陈列室表有(product_id(来自仓库的fk),stock_transferred )..
例如,在仓库表中
product_id stock_quantity
1 10
2 20如何在使用showroom表中的stock_quantity(5)传输product_id(1)的同时,仍然保留仓库表中的数据?
因此,在传输数据之后,我的仓库表变成了:
product_id stock_quantity
1 5
2 20我的陈列室桌子变成了这样:
product_id stock_transferred
1 5例如,我有一个文本输入,用户可以在其中指定他将转移到showroom表中的股票数量。
对不起,我不能很好地解释,我的英语不好。
BEGIN TRAN
INSERT INTO showroom
SELECT product_id, @ValueToBeReduced FROM warehouse
WHERE product_id = 1
-- error handling
UPDATE warehouse
SET stock_quantity = stock_quantity - @ValueToBeReduced
INNER JOIN showroom
ON warehouse.product_id = showroom.product_id
AND showroom.product_id = 1
-- error handling
COMMIT TRAN发布于 2010-10-23 20:06:40
使用DataSource类的begin()和commit()/rollback()方法,或使用Model类的transactional属性。您还可以使用query()方法提供原始SQL查询。
发布于 2010-10-23 23:28:34
这是在cakephp中进行事务处理的基本模板:
$this->Model->begin();
$returnQuery = $this->Model->query($query); // or $returnQuery = $this->Model->save($data);
if($returnQuery !== false){
$this->Model->commit();
}else{
$this->Model->rollback();
}https://stackoverflow.com/questions/4003780
复制相似问题