我正在使用symfony开发网络POS。系统有效,但我担心数据库。我将产品数量存储为浮动,这是因为有些产品可以以0.3,0.2,0.99,1.69等数量出售。就像面包一样。当我保存销售时,我打电话给保存方法。该save方法使用foreach
来遍历数组的详细信息,该详细信息是具有数量,价格和产品的实体,每个销售至少有一个细节。无论如何更新数量我只是这样做:
detail->getProduct()->setQty(detail->getProduct()->getQty - detail->getQty )
易于更新和删除销售。但它不支持FIFO或LIFO。
现在我想要支持FIFO和LIFO,我首先尝试创建一个股票实体,像这样
Stock{
var productId ;
var cost;
var sell;
var detail;
}
以及一个详细信息表:
Detail{
var product[];
var price;
}
和销售类,
Sell{
var Details[];
var total;
}
例如,出售3单位的x产品。我将寻找3个没有添加细节的Stock实体,如果是FIFO,它们的结果应该由id ASC订购。
但是对于像面包这样的产品,我不知道如何工作,我不能在数据库XD中拥有代表1公斤面包的1000个实体。
如何使用ORM实现FIFO?