Рассматриваются две таблицы lectors
, lessons
и их модели Eloquent Lector
и Lesson
. Lectors
содержание таблицы:
| id | name |
| 1 | John |
| 2 | Jack |
Lessons
содержимое таблицы:
| id | state | lector_id |
| 1 | new | 1 |
| 2 | new | 1 |
| 3 | old | 1 |
| 4 | new | 2 |
Я хотел бы запросить базу данных, чтобы получить список новых уроков и список старых уроков для каждый лектор. Пример вывода БД:
| id | name | count_new | count_old |
| 1 | John | 2 | 1 |
| 2 | Jack | 1 | 0 |
Я не особо разбираюсь в запросе на данном этапе. Я бы хотел, чтобы мой API возвращал результат JSON, как показано ниже. Это то, что я изо всех сил пытаюсь сделать с Lumen / Eloquent.
[
{
"id": 1,
"name": "John",
"count_new": 2,
"count_old": 1
},
{
"id": 2,
"name": "Jack",
"count_new": 1,
"count_old": 0
}
]
Мне интересен общий подход, позволяющий избежать запросов к таблицам по отдельности, а затем циклически перебирать вещи в коде, как я видел по всему инте rnet. Это кажется неправильным. Возможно ли это сделать с помощью API, доступного в Eloquent? Не нашел большой помощи в документах. Самый близкий, который я получил, был с subJoin
с.