Laravel курс с нуля, база. 38. CRUD с транзакцией в Laravel.

preview_player
Показать описание
Стань спонсором(бусти аккаунт), доступ к собеседованиям:

Мои платные курсы:

План развития с нуля до middle+:

Группа вк:

- Ссылка для донатов, спонсорства, пожертвований

- -

. ---
. .
Рекомендации по теме
Комментарии
Автор

Сильно усложнили невероятно простую тему. Ведь по сути транзакция в ларавел это очень простая конструкция типа
try {
DB::beginTransaction();

// код работы с базой

Db::commit();

} catch (\Exception $exception) {
Db::rollBack();
// обработка исключения
}

А все остальное в видео это просто обычный CRUD только с доп. условиями для частного случая когда вместе с созданием поста нужно также создавать категорию, новые теги итд.

sv
Автор

Я заметил у автора есть любимая фраза: "Делается это просто".
😁

elgrenka
Автор

Фух, только со второго раза понял. Тут бы пару конкретных примеров привести, откуда и как вот эти данные приходят, api, фронт... Спасибо за уроки!

Sechyas
Автор

Спасибо, за урок! Очень крутая и простая подача материала!

vimitali
Автор

столько горячих клавиш от тебя узнал, спасибо)

Stauroman
Автор

Спасибо за урок, стало больше понятно зачем и как юзать всякие resource и try catch в действии

sergeyromanov
Автор

Спасибо за видео, контент огонь! Недавно решал подобную задачу, про транзакции не знал.

TheDinamitt
Автор

супер урок то что я искал полтора месяца - вот они ответы на все мои вопросы

alexandriv
Автор

Спасибо, очень хороший и полезный урок.

plutuss
Автор

Кстати, вот мы уже перешли на работу с АПИ, и с методах контроллеров у нас везде прописано возвращение JSON. То есть в браузере мы уже не видим привычный нам фронтэнд. Одни джейсоны. В предыдущих видео уже задавали такой вопрос о разделении логики запросов (кто и что запрашивает), но автор так и не ответил на них.

Olegcowboyoleg
Автор

Спасибо за суперские уроки!
У кого возникала ошибка 500 и не попадала в Exception, говоря, что массива тегов нет: поставьте (\Exception $exception) и произойдет чудо!

AlyonaPetrova
Автор

И самое главное: вот мы пишем пишем этот код (полдня!), а для чего и почему и что такое транзакция - не было рассказано ни в уроке по SQL, ни здесь. Самая важная чать всего обучения - это для чего мы что-то делаем, цель всего.

Olegcowboyoleg
Автор

Получилось, но эта донельзя атомизированная логическая структура Laravel всё никак интуитивно не запоминается:(

spitzer
Автор

Интересное видео, а это точно базовый курс с нуля?)

ivanteplyakov
Автор

21:50 На самом деле ошибки не будет, у меня наоборот, если я оставлю все как есть (return new StoreResource($response)), то у меня, при любой ошибке, будет возврашен json с ключем message, в котором будет намного информативней описание ошибки, чем в варианте автора. Может это зависит от версии Laravel, я не знаю

eugene_kulik
Автор

кoooмент для продвижения! like подписка

bogdankhorvat
Автор

Благодарю за урокu. все доходит по чуть)
единственная до этого была проблема при сохранении поста, если ни одного тега не указывал.
пришлось в 19 уроке проверку вставить ...
в этом уроке второй раз похожая ошибка выскакивает. Как у вас транзакция не срабатывает когда в JSON нет тегов. выдает ошибку 500 и пишет что нет массива с тегами.
практически уверен что все прописано верно.
может это быть от версии laravel?

bykpksg
Автор

Нужно ли оборачивать в транзакции какие либо методы, которые мы используем в Store и Update, но которые в себе также содержат работу с базой? Вроде getTagIds и всех остальных которые есть в сервисе, но не update и store.

qoonmax
Автор

При Update создаю getTagIdsWhisUpdate, вношу всё, как на видео, но при dd выходит
ошибка 500 Add [id] to fillable property to allow mass assignment on [App\Models\Tag]. Не совсем понимаю, что делаю не так. До этого весь код работал стабильно

uzhihvo
Автор

Здравствуйте! Скажите, пожалуйста, всё сделал как в видео, получилось как у вас всё в конце, перепроверил, но постман показывает, что всё обновляется, а в базе никаких изменений не проходит. Такие же посты, категории, тэги.

qhgsuek