php - 根据一个外键验证重复数据

标签 php mysql laravel

我有两个表,两个表都合并到第三个表中,如下所示

**sub_category**
Id 
Name

**category**
ID
Name

**sub_cat**
ID
sub_id
cat_id

**category**                  **Sub_Category**
ID   Name                     ID        Name
1    One_Cat                   1        one_sub
2    two_Cat                   2        two_sub
3    three_Cat                 3        three_sub

**Cat_SubCat**
ID      Cat_id      sub_catId
1         1         1
2         1         2
3         1         3
4         1         1
5         2         1
6         2         2
7         2         2

你看到cat_id下面了吗? 1 有重复的 sub_CatId , 我想要的是验证,在类别一下不应该有与类别2相同的重复子类别,在类别2下不应该有重复的子类别

最佳答案

如果类别和子类别表中的名称具有唯一性,则意味着 ID 始终是唯一的。因此,您无需验证关系是否已存在,只需使用 sync()syncWithoutDetaching() 这将确保类别和子类别之间始终存在一个连接,并且没有重复项。否则,您使用 attach() 会产生重复项。

查看文档了解更多信息

https://laravel.com/docs/master/eloquent-relationships#updating-many-to-many-relationships

关于php - 根据一个外键验证重复数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58598089/

相关文章:

php - Notepad++ 没有调试功能或任何调试插件 - 这是真的吗?

php - 我将如何在 php 中执行 mysql 时间戳?

MySQL查询用于计算按月分组的2个日期之间的天数

mysql - Laravel 查询生成器联合 : Add 'table name' column

php - 从转换内部的分页中删除行

php - 在 Laravel 5 中插入批处理

php - 如何更新使用已弃用的 each() 函数的代码?

php - 使用 MySQL 数据库中的内容每秒更新 HTML 元素

MySQL:循环遍历数据库并在其上运行存储过程

php - Laravel 爆炸并加入