gpt4 book ai didi

php - 根据所选服务更新选择成员

转载 作者:行者123 更新时间:2023-11-29 13:49:03 24 4
gpt4 key购买 nike

基本上,度假村提供四种服务:

services (Table with all resort services)
ser_id ser_name
1 Breakfast
2 Dinner
3 Towels
4 Taxi

成员(member)在度假村预订时可以选择他们想要的服务。 selected_services 表中有三个选项及其适用的相应成员案例:

  1. 选择个性化服务[成员(member)6案例]
  2. 一次性选择所有服务[成员(member)7案例]
  3. 一次性选择所有服务,然后取消选择个别服务[成员(member) 5 案例]

为了让事情更清楚,选择的服务表如下所示:

chosen_services (Table with all member chosen resort services)
resort_id mem_id ser_id chosen_type
2 5 0 all
2 5 1 cancelled
2 5 2 cancelled
2 6 4 chosen
2 7 0 all

如果任何服务的价格发生变化,我们需要拉出选择该服务的成员(member),并向他们发送电子邮件告知更改内容。

我已经在这个问题上坚持了几个小时了,我们怎样才能让这个东西发挥作用?

最佳答案

根据您的以下评论进行修改:

我实际上可能会考虑添加服务包的概念,因此您可能会引入两个新表(packages 和packages_to_services)

表格可能具有以下字段

packages
--------

pack_id pack_name
1 Breakfast Package
2 Dinner Package
3 Towels Package
4 Taxi Package
5 All Services Package

packages_to_services
--------------------

pack_id ser_id
1 1
2 2
3 3
4 4
5 1
5 2
5 3
5 4

您可以将 chosen_services 表更改为 chosen_packages 表,如下所示

resort_id    mem_id    pack_id    cancelled
2 5 5 1
2 5 3 0
2 5 4 0
2 6 4 0
2 7 5 0

您将像这样查询所有信息

SELECT DISTINCT cp.mem_id 
FROM chosen_packages AS cp
INNER JOIN packages_to_services AS pts
ON cp.pack_id = pts.pack_id
WHERE cp.resort_id = 2
AND pts.ser_id = 2
AND cp.canceled = 0

请注意,您的应用程序需要具有逻辑来理解当成员 5 取消选择服务 1 和 2 时,他实质上取消了套餐 5 并添加了套餐 3 和 4。

此外,如果您需要在包中添加或删除服务,只需在 packages_to_services 表上插入/删除一条记录,无需更新任何其他表,因为所有用户都已注册因为该包会自动获取服务更改。

关于php - 根据所选服务更新选择成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16973812/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com