Closed. This question needs to be more focused。它当前不接受答案。
想改善这个问题吗?更新问题,使其仅通过editing this post专注于一个问题。
3年前关闭。
我创建了一个表来存储票证的标签。我在值列中将多个标签保存为逗号(,)分隔的字符串。
现在,我必须搜索标签并获取关联的ticket_id,我的搜索词是一个数组
请帮我写一个查询
警告,只有在5.3版本之后才需要第一个
雄辩的范围现在尊重范围约束的前导布尔值。
例如,如果要使用orWhere约束启动范围
它将不再转换为普通位置。如果你依靠
此功能(例如,在循环中添加多个orWhere约束),
您应确认第一个条件是正常情况,应避免
任何布尔逻辑问题。
想改善这个问题吗?更新问题,使其仅通过editing this post专注于一个问题。
3年前关闭。
我创建了一个表来存储票证的标签。我在值列中将多个标签保存为逗号(,)分隔的字符串。
+----+-----------+-------+---------------+---------------------+---------------------+
| id | ticket_id | key | value | created_at | updated_at |
+----+-----------+-------+---------------+---------------------+---------------------+
| 9 | 22 | label | Important,Bug | 2016-10-10 14:48:07 | 2016-10-10 14:48:07 |
| 17 | 21 | label | | 2016-10-10 16:46:13 | 2016-10-10 16:46:13 |
+----+-----------+-------+---------------+---------------------+---------------------+
现在,我必须搜索标签并获取关联的ticket_id,我的搜索词是一个数组
array:1 [
0 => "Important"
]
请帮我写一个查询
最佳答案
您应该尝试这样的事情:
$query = Model::where('value','like','%' . $array[0] . '%');
for($i = 1; $i < sizeof($array); $i++) {
$query->orWhere('value','like','%' . $array[i] . '%');
}
return $query->get();
警告,只有在5.3版本之后才需要第一个
where
方法。在此之前,您可以直接从orWhere
子句开始。雄辩的范围现在尊重范围约束的前导布尔值。
例如,如果要使用orWhere约束启动范围
它将不再转换为普通位置。如果你依靠
此功能(例如,在循环中添加多个orWhere约束),
您应确认第一个条件是正常情况,应避免
任何布尔逻辑问题。
09-25 13:27