Kohana Помогите с ORM запросом!

Европа - быстрые серверы на дисках NVMe от $5 / Русский датацентр от 199руб

Тема в разделе "Kohana", создана пользователем iova1984, 29 сен 2018.

Метки:
Статус темы:
Закрыта.
  1. iova1984

    iova1984 Новичок

    Сообщения:
    2
    Ваш город:
    Рязань, Russia
    Address:
    Ryazan, Russia
    Country:
    Location on Map:
    Здравствуйте! Начал изучать ORM. По докам - всё понятно. Но на практике - путаница!

    marks_table:
    id
    name

    models_table
    id
    name
    mark_id

    auto_table
    id
    name
    price
    model_id

    Тоесть, таблица моделек содержит в себе mark_id, к которой она относится, а таблица автомобилей содержит model_id (по ней и можно марку определить). Задача - вывести список МАРОК (только марок), у которых ЕСТЬ автомобили. И для каждой марки - число авто этой марки.

    Обычный MySQL запрос у меня таков:
    SELECT marks.name, COUNT(auto.id) AS Count
    FROM auto
    INNER JOIN models ON models.id=auto.model_id
    INNER JOIN marks ON marks.id=models.mark_id
    GROUP BY marks.name ORDER BY marks.name

    Никак не пойму как это всё сделать в ORM-стиле. Да и путаница с файлом Модели/Контроллера - что куда писать. Пожалуйста, привелите ясный пример: я хочу его тщательно разобрать чтобы наконец-то уяснить как это всё работает!
     
  2. fixxxer

    fixxxer К.О. Партнер клуба

    Сообщения:
    12.947
    Ваш город:
    Moscow, Russia
    Address:
    Moscow, Russia
    Country:
    Location on Map:
    Кохана мертва уже 2 года как. Если хочешь фреймворк с ActiveRecord, бери Laravel, он похож. (ORM бывают очень разные, это общий термин; в Kohana и Laravel - ActiveRecord).

    То, с чем ты хочешь разобраться - это relations: https://laravel.com/docs/5.7/eloquent-relationships
     
  3. iova1984

    iova1984 Новичок

    Сообщения:
    2
    Ваш город:
    Рязань, Russia
    Address:
    Ryazan, Russia
    Country:
    Location on Map:
    ага, я тоже так умею..................... Сколько же умников....
     
Статус темы:
Закрыта.