【发布时间】:2016-12-29 01:28:52
【问题描述】:
数据流:
4-5个主要类别,每个主要类别有10-15个子类别。 属于少数类别的少数服务。类别作为序列化数据存储在服务表中,如下所示:
a:2:{i:0;s:1:"1";i:1;s:2:"3";}
a:1:{i:0;s:3:"2";}
a:1:{i:0;s:3:"3";}
a:2:{i:0;s:1:"1";i:1;s:3:"3";}
发布的表单数据如下:
array(
[0] => array(
[0] => 1,
[1] => 3,
),
[1] => array(
[0] => 2
),
....
....
....
)
将同一主类别中的每个选定类别分组在一个数组中。类别和子类别的数量也不固定
获取记录的普通 SQL
SELECT * FROM `services` WHERE (`categories` LIKE '%"1"%' OR `categories` LIKE '%"3"%') AND (`categories` LIKE '%"2"%') AND ( ... OR ...) AND ( ... OR ...) ....
我已经绑定了这个,但这似乎不起作用。
\DB::table ('services')
->where(function($q) use ($categories) {
foreach($categories as $category) {
$q->where('services.categories', 'like', '%"'.DB::raw($category).'"%');
}
})
【问题讨论】:
标签: laravel eloquent laravel-5.2