【问题标题】:Laravel Eloquent Relationship with a comma separated field带有逗号分隔字段的 Laravel Eloquent 关系
【发布时间】:2018-10-22 01:54:03
【问题描述】:

我继承了一个包含 2 个需要链接的表的数据库,一个 users 表和一个 us_states 表。 users 表有一个名为states_visited 的字段,它是一个以逗号分隔的字段(例如,纽约、阿拉巴马州和德克萨斯州将存储为8, 2, 41)。我想定义hasMany 关系,但不幸的是find_in_set(states.id, users.states_visited) 不起作用,因为 Laravel 分别查询两个表,因此它们在查询期间不会“看到”对方。

任何解决此问题的帮助都会令人惊叹。

【问题讨论】:

标签: laravel eloquent has-many


【解决方案1】:

如果你想使用 Laravel 关系,你必须重构以使用 Many to Many relationship。您的另一个选择是使用 MySQL find_in_set 函数,然后为它编写自己的逻辑。

【讨论】:

    【解决方案2】:

    我创建了自定义关系约束来解决这个问题。

    My First Package | ReadMe

    或者你也可以使用添加这个包,

    composer require ghanuz/relations

    我只测试了 select 子句,而不是使用关联功能的插入/更新。

    但它可能会有所帮助。

    【讨论】:

      猜你喜欢
      • 2015-03-10
      • 2019-03-14
      • 2013-06-16
      • 2021-01-19
      • 2021-10-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多