【发布时间】:2019-08-13 19:12:04
【问题描述】:
我目前正在从事一个 laravel 5.4 项目,我试图在我的数据库中找到类似于引入的搜索字符串的值。例如,我有以下搜索词
$search_term = "Some long phrase with words"
在我的数据库 (MySQL) 中,我有一个表 tags,其中有一列 value。此表中的一行可能有value => 'some',另一行可能有value => 'long',另一行可能有value => 'phra'
我需要创建一个包含value 出现在我的搜索词中的所有标签的集合。这意味着我提到的 3 行应该与我的 $search_term 匹配
我目前知道我可以在 laravel 中使用 eloquent 并说类似
Tag::where('value', 'like', "%".$search_term."%")->get()
但据我了解,这将查看 $search_term 是否是 value 列中内容的子字符串。
如何使用 eloquent 询问 value 是否包含在 $search_term 中(子字符串)?
【问题讨论】:
-
使用 PHP 将您的搜索词拆分为单个词的数组。然后使用
->whereIn('tag', $words)。
标签: php mysql laravel laravel-5 eloquent