Ответы пользователя по тегу Laravel
  • Как правильно организовать код в php-фреймворке?

    Settler1
    @Settler1
    Правильно написанный вопрос - половина ответа
    Как принято в php вообще делать - что в контроллере мы делаем запросы к базе, используя ORM или конструктор запросов, агрегируем данные и выплевываем, или все нужно выносить в модели, но тогда модели будут просто огромными, что делать?


    Принято как раз наоборот - вся логика БД должна быть в моделях, а что бы модели не были огромными, разбивайте логику на несколько моделей если используются разные таблицы, ту часть которая конкретна только для конкретной страницы оставляйте в контроллере, используйте весь доступный функционал фреймворка - хелперы, формы, библиотеки и т.д.

    У нас как раз Ваша проблема с проектом, когда мы пришли и увидели код, там вся логика была исключительно в контроллерах. Ощущение что предыдущие программисты про ничего другое вообще не слышали.
    Ответ написан
    2 комментария
  • Как не сохранять запись если id уже существует на laravel?

    Settler1
    @Settler1
    Правильно написанный вопрос - половина ответа
    Как не записывать запись, если такой id уже существует?

    Сделайте try catch

    try {
                $carObj = new Car();
                $carObj->id = $item['id'];
                $carObj->make = $item['make'];
                $carObj->model = $item['model'];
                $carObj->price = $item['price'];
                $carObj->href = $item['href'];
                $carObj->year = $item['year'];
                $carObj->created = $item['created'];
                $carObj->save();
    } catch (Illuminate\Database\QueryException $e) {
        /* nothing */
    }

    Таким образом мы ловим исключение и просто пропускаем его. Ошибка в таком случае не остановит скрипт.
    Ответ написан
    Комментировать
  • Почему отображается код вместо страницы?

    Settler1
    @Settler1
    Правильно написанный вопрос - половина ответа
    Вариантов два:
    1) не установлен/работает не корректно php
    2) может у вас где то в проекте используются короткие тэги, а в php.ini они отключены
    Ответ написан
    Комментировать