我正在建立一个库存控制系统。我有两类文件:
的文件
每一种供应产品都有自己的成本。
当我创造需求时,我需要了解我将从哪种供应中获取货物,以及从每一种供应中得到的产品数量是多少。
例如:
管理员创造了15种产品的需求。在这里,我需要弄清楚我从哪些物品中提取货物。因此,需求将从供应1中获取10种产品,从供应2中获取5种产品。
如何从DB过滤和只获取所需的行数,而不是以所有DB?为例--在上面的示例中--我需要获取供应品,如果它们的产品总量足以满足需求(供应1,供应2),而不需要过量供应(供应3),以避免额外的负载。
所以我需要这样的东西:
Get supplies AND limit them by sum of supplies.quantity AND don't take extra supplies
我简化了结构,只剩下需要的部分。
发布于 2022-05-03 13:39:57
那我就坚持我的意见。您只需在另一栏中列出购买商品的成本、制造商认为该项目的价值(MSRP)、实际零售价。您也可以得到花哨和多行与不同数量的每个采购价格(整个销售价格,您购买的项目)。所以你的桌子看起来是这样的:
Product
id unique_item_id(sku) description
1 8675309 Very cool item
Location
id name address phone description
1 Joe's Place 1234 home st 555.555.5555 Joe's store
2 Bob's Place 5678 home st 666.666.6666 Bob's store
3 Jane's Place 9012 home st 777.777.7777 Jane's store
Inventory
id sku location wholesale_price msrp retail quantity
1 8675309 1 1.00 6.00 5.00 9
2 8675309 2 1.00 6.00 5.00 15
3 8675309 3 1.00 6.00 5.00 12
4 8675309 3 2.00 6.00 5.00 2
在库存表中放置外键,以指向产品和位置,指向位置id。
那么在你们的模特中:
库存
public function product()
{
return $this->belongsTo(Product::class, 'sku');
}
public function location()
{
return $this->belongsTo(Location::class, 'id');
}
位置
public function inventory()
{
return $this->belongsToMany(Inventory::class);
}
产品
public function inventory()
{
return $this->belongsToMany(Inventory::class);
}
然后,在您想要获得结果的控制器操作中,只需执行如下调用:
$inventory = Inventory::where('sku', '8675308')->with('product')->with(location)->first();
这将从条目sku为8675309的所有表中带回所有内容。从这里开始,就可以很容易地计算出产品总数的逻辑,并对每个位置的成本进行计算。*--请注意,我还没有测试过这段代码,这完全是我头上的错误。这只是一个例子,说明如何才能获得库存系统所需的所有信息。。
https://stackoverflow.com/questions/72086326
复制相似问题