За последние 24 часа нас посетили 18854 программиста и 1618 роботов. Сейчас ищут 924 программиста ...

Модель в Laravel

Тема в разделе "PHP для новичков", создана пользователем Sergey_Tsarev, 13 окт 2017.

  1. Sergey_Tsarev

    Sergey_Tsarev Активный пользователь

    С нами с:
    17 мар 2016
    Сообщения:
    502
    Симпатии:
    105
    Всем привет! Объясните, вот такую вещь: в Laravel, как я понял модель служит только для работы с конкретной таблицей? То есть по сути, если у нас 20 таблиц, то должно быть двадцать моделей. И модели эти, как я понимаю, пустые. А где прописывать логику? В контроллере?
    Заранее спасибо.
     
  2. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.600
    Симпатии:
    1.764
    @Sergey_Tsarev, модель ActiveRecord служит для работы с конкретной таблицей, такой паттерн. Eloquent ORM никто использовать не заставляет. Вот у меня сейчас два активных проекта на Laravel, в одном использовал, в другом нету. По поводу того, куда девать логику - тема вечного холивара. Как и что размещать в модели. Именно поэтому в Laravel нету папки для моделей в дефолтной структуре каталогов
    Лично мой выбор основывается на том, как много логики мне нужно. Если логика состоит в том, чтобы сделать findOrFail() или all() и передать в вид, то я пишу прямо в контроллере. Если же она более сложна, выделяю в отдельные классы.
     
    Sergey_Tsarev нравится это.
  3. Sergey_Tsarev

    Sergey_Tsarev Активный пользователь

    С нами с:
    17 мар 2016
    Сообщения:
    502
    Симпатии:
    105
    Вот и я также решил. Что если будет много сложной логики, то выделить ее в отдельный класс. В противном случае писать прямо в контроллере.
     
  4. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.600
    Симпатии:
    1.764
    Логика, конечно, иногда имеет тенденцию разрастаться, но всегда можно сделать рефакторинг.