Intereting Posts
Как я могу анализировать журнал ошибок Apache в PHP? Возвращение локального времени из метки времени unix с идентификатором часового пояса в php Использование записей MX для проверки адресов электронной почты Единственный результат из базы данных с помощью mySQLi Отображать сообщение о предупреждении на веб-странице при пересылке с одной страницы на другую при загрузке страницы Пользовательская команда Laravel Artisan недоступна в работе cron Datatables и форматирование данных ajax? Множественный фильтр с использованием jquery с атрибутом data TSP (проблема с продавцом) Решатель Использование GoogleMap Ошибка файла генерации электронной почты php Symfony2 – скачать файл Force Получение элемента SimpleXMLElement для включения кодирования в вывод PHP – Как я могу вставить несколько элементов из корзины покупок в базу данных? Как обрабатывать частичный HTML? Сравнение строк на bool

Laravel SQLite whereHas запросы не работают

Я использую SQLite с моим приложением Laravel и пытаюсь запустить запрос whereHas :

 $payments = Payment::whereHas('payers', function($q){ $q->where('user_id', '=', 1); })->get(); 

Это возвращает пустой результат и связано с тем, что целое число 1 передается в строку, о чем свидетельствует результирующий запрос, генерируемый laravel / eloquent:

 select * from "payments" where (select count(*) from "payers" inner join "payer_payment" on "payers"."id" = "payer_payment"."payer_id" where "payer_payment"."payment_id" = "payments"."id" and "user_id" = 1) >= '1' 

Просмотрев эту проблему github, я попытался использовать DB::raw так:

 $payments = Payment::whereHas('payers', function($q){ $q->where('user_id', '=', DB::raw(1)); })->get(); 

Но никакого улучшения. Как я могу исправить это без изменения драйвера базы данных?

Related of "Laravel SQLite whereHas запросы не работают"