#laravel #mongodb
Вопрос:
я НЕ получаю результата, думал, что данные есть в БД
$conditions = collect($this->getColumns())->map(function ($column, $key) use ($keyword, $or_conditions) {
return $or_conditions[] = [
$column => [
'$regex' => "$keyword",
'$options' => 'i'
],
];
});
$final_or_condition = [
'$or' => $conditions->toArray()
];
$this->collection = $this->collection->whereRaw($final_or_condition);
когда я выполняю поиск в поле ввода с возможностью ввода данных в поле типа целое число в коллекции MongoDB, результаты возвращаются нулевыми, если поле регулярного выражения возвращает только строку, что является альтернативой, поскольку условие находится в ЦИКЛЕ
Комментарии:
1. В чем здесь ценность
$keyword
?2. @apokryfos его строка из ввода поиска, но в коллекции его целое число, которое приводит к нулю, но в строковом типе оно дает записи
3. @apokryfos как я могу применить подобный запрос к вышеуказанному условию цикла, используя whereaw ?
4. Я считаю, что метод whereaw ожидает строку SQL в качестве параметра, а не массив.
5. @AlexandrBlyakher отлично работает со строковым типом, но не с целым числом, мне нужно решение для подобного запроса с полем целочисленного типа