我有一个配料/进餐表设置,其中X个配料组合可以等于Y个进餐。

例如:
Ingredients'胡萝卜,肉,白菜'= Meal炖。

用户将可以选择并添加自己的食材,然后便可以制作餐点。我已经将这两个表建立为多对多关系。我意识到我需要在每餐中添加食材的第三张桌子,但是我遇到的问题是成本。

例如:
假设您想做一顿三明治餐。您将添加面包(1美元),肉(1美元)和一些奶酪(2美元)。这将使这顿饭成为“三明治” 4 $。

我遇到的问题是,我的MEAL表中有一个“费用”列,而与膳食相关联的我的膳食成分也有一个“费用”列,但必须先创建MEAL,然后再选择SELECTED,这意味着它没有还不知道总成本,因为配料排在最后。

我怎么能告诉mysql这顿饭的总成本是尚未放入的原料?

最佳答案

稍微取决于您输入数据的方式,但是假设您有一个meals接口和meal-ingredients接口(大概是用PHP编写的,因为您已经这样标记了)。

我要做的是,当您更新或创建成分时,要么使用将更新meals.cost的触发器,要么让您的PHP脚本在插入/更新之后运行该查询。这样,您的cost应该总是准确的。在该字段的情况下,我将其默认设置为0(从技术上讲,不含成分的餐食没有费用)

关于php - MySQL:如何设计表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41904168/

10-12 18:59