【发布时间】:2017-10-05 13:22:49
【问题描述】:
我有 3 个表/模型
- 用户(ID)
- 订单 (id)
- 分配(order_id、user_id、created_at)
管理员可以将订单分配给某个用户,然后重新分配,我必须存储此历史记录。
例如我有
Users
----+
id |
----+
1 |
-----
2 |
----+
Orders
----+
id |
----+
1 |
----+
2 |
----+
Assignments
------------------------------------
id | user_id | order_id | created_at
------------------------------------
3 | 2 | 1 | 10.10.2010
------------------------------------
2 | 1 | 1 | 09.10.2010
------------------------------------
1 | 1 | 2 | 09.10.2010
现在我想将订单分配给 id = 1 的用户,从逻辑上讲,我必须获得 id = 2 的订单,因为 id = 1 的订单在 2010 年 10 月 10 日被重新分配给 id = 2 的用户
我正在使用 Laravel 5.4 和 Eloquent。
请帮我处理 SQL 查询或 Eloquent 关系(我想为我的用户模型分配Orders 关系)
【问题讨论】:
-
为什么不添加deleted_at 如果管理员重新分配订单设置removed_at 字段,然后在您的查询中,如果您想要重新分配的字段,请添加
withTrashed()否则它将只返回当前分配的订单! ! -
我有另一个可行的解决方案,但我想知道如何在不进行任何修改的情况下解决这个问题
标签: mysql sql database laravel eloquent