解决relationship的同时存储数据

发布时间 2023-09-07 16:50:16作者: yjxQWQ

解决relationship的同时存储数据

可能是在引用model的时候少了一些内容,导致无法传递进数据库,但是另一个函数可以做到保存入数据库,我不知道后端那个内容该怎么写,我需要看一下Laravel和filamentv3之间的关系。

我得知我写的只是检索,真正传递不是这个。

多对多什么意思

我的数据表A的每条数据都有B的多条数据 B的每条只能属于一条A的数据是一对多关系。

其中一个实体可以与多个另一实体相关联,反之亦然。才是多对多。

我找到报错原因了 是 ->multiple(),这个只能实现多对多关系。我错了,tags确实是多对多关系。

多对多关系对数据库有要求的

两个表是多对多关系 这两个表字段怎么设定

一般需要第三方表来设置外键

sqlyog怎么设置外键

右键可以设置外键,但是需要满足以下条件

  1. 数据不一致性:外键约束要求 tags_id 列的值必须存在于 laravel.tags 表的 id 列中。如果在执行外键约束创建之前,copy_writing_tags 表中已经存在不匹配的数据,就会触发这个错误。您需要确保 copy_writing_tags 表中的每个 tags_id 值都存在于 laravel.tags 表的 id 列中。
  2. 数据类型不匹配tags_id 列的数据类型必须与 laravel.tags 表的 id 列的数据类型完全匹配,包括长度和字符集。请确保两列的数据类型一致。
  3. 索引问题:外键约束通常要求目标表的列(laravel.tags 表的 id 列)上存在索引。确保 laravel.tags 表的 id 列上存在索引。
  4. 表引擎不支持外键:如果 laravel.copy_writing_tags 表使用的是不支持外键约束的存储引擎,如 MyISAM,您无法添加外键约束。在这种情况下,考虑将表的存储引擎更改为支持外键的引擎,如 InnoDB。
  5. 表结构问题:确保表 laravel.tags 存在,表名和列名拼写正确。

还是不行BelongsToMany应该还有其他设置才能拿到数据

我给表AB设置了外键 多对多 我在创建A表的时候把B表的数据

数据库没问题字段

多选情况下返回了不知道什么没法被识别吗

难道是没有返回json数组?

外国人回答了我的问题了。

A表和B表外键了一个中间表 存储数据的时候一些数据会存储到中间表 那tags需要删除 问题衣架解决了。