Задать вопрос
@ngame

Почему Eloquent ORM не хочет обновлять модель?

Добрый день!
Laravel 5.3 не хочет обновлять eloquent модель, при этом создает новые на ура! В модели прописывал $fillable, результат тот же. Дебагом проходил по полям, значение устанавливалось тот что надо, ошибок при вызове save() не было..Что я не так делаю?
try {
            \DB::beginTransaction();

            /** @var vpStore $store */
            $store = vpStore::findOrFail($request->store);
            $date = new Carbon($request->date);
            $totalQty = (int) $store->Qty;
            $qty = (int) $request->qty;

            /** @var vpReport $report */
            $report = new vpReport();
            $report->StoreId = $store->Id;
            $report->Price = 0;
            $report->Qty = $qty;
            $report->Date = $date->format('Y-m-d H:i:s');
            $report->Type = vpReport::TYPE_CASH;
            $report->save();

            $store->Qty = $totalQty - $qty;
            $store->save();

            \DB::commit();
        } catch (QueryException $e) {
            \DB::rollBack();
        }
  • Вопрос задан
  • 250 просмотров
Подписаться 2 Оценить 2 комментария
Пригласить эксперта
Ответы на вопрос 1
AmdY
@AmdY
PHP и прочие вебштучки
DB::enableQueryLog();
DB::getQueryLog();

Плюс посмотрите в логи, мало ли какая ошибка вывалилась
И вообще, советую перечитать документацию по laravel.
Filleble здесь ни при чём, он работает при массовом заполенине, а у ва геттеры.
Пропишите свзязь vpStore и vpReport, пользуйтесь ей.
Приведение типов в контроллере смотрится нелепо и есполезно, такие вези делайте внутри моделей через setAttribute, то же касается и Carbon
Не пользуйтесь фасадами, лучше инджектите модель, заодно уберётся костыль с phpdoc
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы