when(isset($where['mer_id']) && $where['mer_id'] !== '', function ($query) use ($where) { $query->where('mer_id', $where['mer_id']); })->when(isset($where['keyword']) && $where['keyword'] !== '', function ($query) use ($where) { $query->whereLike('keyword', "%{$where['keyword']}%"); })->when(isset($where['status']) && $where['status'] !== '', function ($query) use ($where) { $query->where('status', $where['status']); }); } public function keywordByValidData($key, $merId) { return StoreServiceReply::getDB()->where(function ($query) use ($key) { $query->where('keyword', 'like',"%{$key}%")->whereFieldRaw('CONCAT(\',\',`keyword`,\',\')', 'LIKE', '%,' . $key . ',%', 'OR'); })->where('status', 1)->where('mer_id', $merId)->find(); } }