Я довольно новичок в PHP, и это меня действительно отбросило. Я знаю, что мог бы сделать это с raw SQL, но я бы предпочел сделать это правильно.
У меня установлены отношения, и они работают нормально.
У меня есть таблица домов, я хочу получить имена всех людей в этих домах, если дома имеют красную крышу, но только если у человека коричневые ботинки.
Houses::with('people')
->whereHas('people', function($q){
$q->where('shoes', 'brown');
})->where('roof','red')->get()
Это все, что я получил.
Таблица Домов:
+----+--------+
| id | roof |
+----+--------+
| 1 | red |
| 2 | blue |
| 3 | red |
+----+--------+
Таблица людей
+----+----------+-------+-------+
| id | house_id | shoes | name |
+----+----------+-------+-------+
| 1 | 1 | brown | paul |
| 2 | 1 | brown | susie |
| 3 | 2 | red | bob |
| 4 | 2 | brown | kate |
| 5 | 3 | brown | frank |
+----+----------+-------+-------+
Мой желаемый вывод - это массив имен людей, подобных этому:
[paul, susie, frank]
Я чувствую себя так, будто весь день бьюсь головой о стену