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

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


样式如下的下拉菜单-

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

<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}%");
}


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

最佳答案

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

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

关于mysql - Laravel数据库命令中的多次点赞,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54428916/

10-11 03:15
查看更多