Laravel数据库命令中的多次点赞

时间:2019-01-29 20:13:41

标签: mysql laravel

我在MySQL表中有一个名为“便利设施”的字段。我要查询的列的内容如下所示:

a:4:{i:123;s:3:"123";i:126;s:3:"126";i:127;s:3:"127";i:133;s:3:"133";}

还有一个样式如下的下拉列表-

Amenities dropdown

<div class="form-group">
    <label>Amenities</label>
        <select class="form-control select2" name="amenities" multiple="multiple">
            <option value="123">Garden</option>
            <option value="124">Garage</option>
            <option value="125">Furnished</option>
            <option value="126">Unfurnished</option>
            <option value="127">Driveway</option>
        </select>
</div>

我正在尝试根据使用以下代码选择的值进行查询-

if($request->amenities){
        $ads = $ads->where('amenities','like', "%{$request->amenities}%");
}

它适用于所选的第一个便利设施,但如果我选择了多种便利设施,则无效。我将如何去做?

1 个答案:

答案 0 :(得分:0)

您可以将二维数组传递给where(),每个条目将代表一个条件:

$conditions = [];
foreach ($request->amenities as $amenity){
    $conditions[] = ['amenities', 'like', '%'.$amenity.'%'];
}
$ads = $ads->where($conditions);