Size: a a a

Laravel для начинающих

2020 March 19

DM

Dmitry M in Laravel для начинающих
$user->account()->dissociate();
       
try {
   $shop->save();
} catch (QueryException $e) {
           
   // ...
}

try {
   $user->account()->dissociate();
   $shop->save();
} catch (QueryException $e) {

   // ...
}

Как правильнее? С одной стороны диссоциация в базу не лезет, и по-этому какой ей смысл быть в блоке try? С другой стороны

$user->account()->dissociate();
$shop->save();

это как-бы части логично связаны. Стоит ли пихать `$user->account()->dissociate();
` в try или нет?
источник

ВС

Виктор Сергеев... in Laravel для начинающих
Dmitry M
$user->account()->dissociate();
       
try {
   $shop->save();
} catch (QueryException $e) {
           
   // ...
}

try {
   $user->account()->dissociate();
   $shop->save();
} catch (QueryException $e) {

   // ...
}

Как правильнее? С одной стороны диссоциация в базу не лезет, и по-этому какой ей смысл быть в блоке try? С другой стороны

$user->account()->dissociate();
$shop->save();

это как-бы части логично связаны. Стоит ли пихать `$user->account()->dissociate();
` в try или нет?
Одна фигня. Ловится же конкретное исключение
источник

F

FrontendPro in Laravel для начинающих
🙉
источник

DM

Dmitry M in Laravel для начинающих
Виктор Сергеев
Одна фигня. Ловится же конкретное исключение
Да это понятно, тут больше про читабельность кода вопрос, ну и вдуг ещё то что в try обёрнуто - потребляет больше памяти/процессорного времени (экономия на спичках)
источник

DM

Dmitry M in Laravel для начинающих
просто бывает такое что код куда длиньше, и до того как вызывается save(), или там sync() происходит много действий, которые сами по себе QueryException никогда не выбросят
источник

DM

Dmitry M in Laravel для начинающих
но эти действия являются логической транзакцией (не транзакцией базы)
источник

DM

Dmitry M in Laravel для начинающих
да и может быть так что
// код код код
$model->save();
// код код код
$otherModel->foo()->dissociate();
источник

DM

Dmitry M in Laravel для начинающих
и вот этот "код код код" в базу не лезет, так зачем ему быть в try? но там его место, там проверки от которых может зависеть взаимодействие с базой (save, dissociate...)
источник

DM

Dmitry M in Laravel для начинающих
думаю ты понял)
источник

КГ

Кирилл Голубев... in Laravel для начинающих
всем привет. как можно сделать массовое удаление? $comment->comments->delete() ведь выдаст ошибку, если дочерних записей не найдётся
источник

E

Evgenii in Laravel для начинающих
DROP TABLE
источник

ИЛ

Иван Лещенко... in Laravel для начинающих
Кирилл Голубев
всем привет. как можно сделать массовое удаление? $comment->comments->delete() ведь выдаст ошибку, если дочерних записей не найдётся
comments()
источник

F

FrontendPro in Laravel для начинающих
++
источник

КГ

Кирилл Голубев... in Laravel для начинающих
comments() так он вернёт коллекцию сразу
источник

E

Evgenii in Laravel для начинающих
нет
источник

ИЛ

Иван Лещенко... in Laravel для начинающих
Кирилл Голубев
comments() так он вернёт коллекцию сразу
Нет
источник

ИЛ

Иван Лещенко... in Laravel для начинающих
Тебе нужен билдер
источник

ИЛ

Иван Лещенко... in Laravel для начинающих
Т.к это работа с БД
источник

E

Evgenii in Laravel для начинающих
comments - collection
comments() - query builder
источник

КГ

Кирилл Голубев... in Laravel для начинающих
спасибо
источник