у меня есть четыре таблицы в базе данных (sql):
Таблица клиентов:
id
name
Таблица кредитов:
id
name
count
Таблица customer_credit (сводная таблица):
customer_id
credit_id
expiry_date
Таблица потребителей:
id
customer_id
это приложение SPA (веб-база) с Laravel.
как получать (только входящие в систему клиенты) записи из таблицы потребителей, кто определяет в таблице customer_credit доступные записи без даты истечения срока, чтобы мы могли вычислить оставшиеся кредиты. Более подробно, мы пытаемся собрать записи о входе и выходе из гостей в нашем бассейне и тренажерном зале, и мы хотим, чтобы в таблице кредитов учитывался точный идентификатор таблицы customer_credit.
Первый вариант, чтобы использовать Laravel Query Builder:
DB::table('consumers')
->select('consumers.*')
->join('customers', 'consumers.customer_id', '=', 'customers.id')
->join('customer_credit', 'customers.id', '=', 'customer_credit.customer_id')
->join('credits', 'customer_credit.credit_id', '=', 'credits.id')
->where('credits.count', '>', 0)
->where('customer_credit.expiry_date', '>=', date('Y-m-d'))
->get();
Второй вариант, чтобы использовать Laravel Eloquent. Если вы выбрали второй вариант и вам нужна помощь, вы должны поделиться своими модельными структурами здесь.
Также прочитайте эту тему, чтобы увидеть различия: Laravel Eloquent против построителя запросов — зачем использовать eloquent для снижения производительности
Других решений пока нет …