Laravel Eloquent与逗号分隔字段的关系

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Laravel Eloquent与逗号分隔字段的关系相关的知识,希望对你有一定的参考价值。

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

解决这个问题的任何帮助都会令人惊讶。

答案

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

以上是关于Laravel Eloquent与逗号分隔字段的关系的主要内容,如果未能解决你的问题,请参考以下文章

如何用逗号分隔的 id 模拟 Eloquent 关系

Laravel 按 Eloquent 关系分组

Laravel 验证 - 逗号分隔的字符串输入为数组

Laravel Eloquent 在与其他表连接后从关系中选择字段

Laravel 5.4:使用eloquent和fillable字段更新多个表的多个模型

TSQL 将列中的逗号分隔值与逗号分隔参数进行比较