【问题标题】:Laravel migration many to many relastionshipLaravel 迁移多对多关系
【发布时间】:2021-12-27 07:38:12
【问题描述】:

我在用户和天数之间有多对多的关系。 一天可以有很多用户,一个用户可以有很多礼物。有没有办法让这个 day_id 对用户来说是独一无二的?

下表示例:

**user_id  day_id**
    1       1
    1       1     cannot get prize in day 1 if he already got one
    2       1
    3       1
    1       2
    2       2
    2       2     {not again user_id 2 can get day_id 2 gift}

【问题讨论】:

标签: laravel eloquent foreign-keys relationship composite-key


【解决方案1】:

我实际上通过简单地添加验证规则来解决这个问题:'day_id' => Rule::unique('user_day', 'day_id')->where(function ($query) { return $query->where('user_id', $this->user_id); }), 'user_id' => ['required', 'exists:users,id']

【讨论】:

    【解决方案2】:

    您可能可以在 users 表中定义一个“角色”列来划分用户和特定用户,然后使用 count() 方法在控制器中进行限制。

    【讨论】:

    • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
    猜你喜欢
    • 1970-01-01
    • 2023-04-07
    • 2016-03-30
    • 2018-06-15
    • 2018-01-22
    • 2016-02-26
    • 2016-01-04
    • 2018-07-04
    相关资源
    最近更新 更多