数组到字符串转换
有点理解,但是,我不知道如何做对。你能帮我吗? 这是我的代码:
public function chassis($chassis){
return $this->builder->whereIn('model_type_en', 'LIKE', (array)"%$chassis%");
}
请不要嘲笑我:)
答案 0 :(得分:2)
$collection = DB::table('your_table')->select('*');
foreach($chassis as $key=>$val) {
if($key == 0) {
$collection->where('model_type_en', 'like', "%$val%"));
}
$collection->orWhere('model_type_en', 'like', "%$val%"));
}
$name = $collection->get();
这可能有用。您还可以查看参考:laravel querybuilder how to use like in wherein function
(原错误的ans:)
如果chassis
是字符串,则可以执行以下操作:
$this->builder->where('model_type_en', 'LIKE', "%$chassis%");
答案 1 :(得分:0)
你可以使用就像确保$ chassis是一个数组
public function chassis($chassis)
{
return $this->builder->whereIn('model_type_en', $chassis);
}
答案 2 :(得分:0)
你要做的是IN和LIKE的结合。
我建议RLIKE这是一个LIKE但是有REGEX。
虽然这是特定于mysql的,但我怀疑是否有Laravel构建方法来实现这一点。
更新
可悲的是,我错了,虽然RLIKE可以做到。而是在这里找到你的答案: Is there a way to combine IN and LIKE in MySQL?