Php 从sql在数组中找到Laravel

Php 从sql在数组中找到Laravel,php,mysql,sql,laravel,eloquent,Php,Mysql,Sql,Laravel,Eloquent,我正在用Laravel4.2开发一个站点。我有两个表格:文章和标签 这是我的标签表: id | article_ids | xxxx 2 | 2,41,23,6 | xxxx 我使用的是Eloquent,我想在article_ids列中找到一个特定的id。 我该怎么做 我可以像这样在MySQL中搜索吗 谢谢你的帮助。很抱歉我的英语不好。正如您刚刚发现的,这是一种非常糟糕的将标签与文章关联的方法,因为它不容易查询。相反,对于两者之间的多对多关系,您需要一个包含列article\u id和t

我正在用Laravel4.2开发一个站点。我有两个表格:文章和标签

这是我的标签表:

id | article_ids | xxxx
2  | 2,41,23,6   | xxxx
我使用的是Eloquent,我想在article_ids列中找到一个特定的id。 我该怎么做

我可以像这样在MySQL中搜索吗


谢谢你的帮助。很抱歉我的英语不好。

正如您刚刚发现的,这是一种非常糟糕的将标签与文章关联的方法,因为它不容易查询。相反,对于两者之间的多对多关系,您需要一个包含列
article\u id
tag\u id
的中间表。对于一篇有四个标签的文章,应该有四条记录,每个关联对应一条。

几乎所有的东西都已经说过了——糟糕的设计,你应该避免它,等等。这是真的,我同意

以正确的方式进行操作。然而,MySQL是如何实现的:

// say you want tags related to articles 2 and 23

SELECT * FROM tags
WHERE FIND_IN_SET('2', article_ids)
AND FIND_IN_SET('23', article_ids);

// Eloquent
Tag::whereRaw(
   'find_in_set(?, article_ids) and find_in_set(?, article_ids)',
   [$id1, $id2] // bindings array
)->get();

糟糕的表格设计,每个文章都有一个id的表格对senseyea很有用,但我想在其他项目中学习这一点。这对我很重要。好吧,这对标签来说太糟糕了。所以,我还有一个项目。我正在尝试消息组和消息。我想在message\u groups的users列中保存users\u id。并查找message_组中的联系人。你们知道最好的方法吗?谢谢回答,我会用正确的方法。我只需要了解这一点。这个查询是正确的,但我如何才能用laravel做到这一点。