Size: a a a

2019 December 03

AD

Alexandr Dubickiy in Laravel Pro
Ivan Sardyko
Всем привет. Где в ларавел принято получать данные, необходимые в каждом запросе? (например элементы главного меню) именно данные не сервис
view composer
источник

АЛ

Александр Ларионов... in Laravel Pro
Это будет работоть.
А сам Паспорт в контейнер добавить?
источник

IS

Ivan Sardyko in Laravel Pro
Alexandr Dubickiy
view composer
а если мне они нужны в контроллере?
источник

AD

Alexandr Dubickiy in Laravel Pro
Элементы главного меню в контроллере?
источник

IS

Ivan Sardyko in Laravel Pro
я образно привел пример, "массив данных"
источник

i

invariance in Laravel Pro
Ivan Sardyko
а если мне они нужны в контроллере?
В таком случае - создаешь сервис и дергаешь сервис-контейнер
источник

IS

Ivan Sardyko in Laravel Pro
спасибо
источник

LA

Liv Alex in Laravel Pro
Переслано от Liv Alex
$count = $this->getLikesCount();

try {
   $this->likes()->create([
       'user_id' => $userId ?? auth()->id()
   ]);
   $count = $this->incrementLikesCount();
} catch (QueryException $e) {
}
return $count;

Подскажите по какой причине в таком коде у меня выкидывается исключение и останавливается выполнение скрипта, несмотря на то, что потенциально небезопасный участок кода обернут в try?
источник

A

Adel in Laravel Pro
Liv Alex
Переслано от Liv Alex
$count = $this->getLikesCount();

try {
   $this->likes()->create([
       'user_id' => $userId ?? auth()->id()
   ]);
   $count = $this->incrementLikesCount();
} catch (QueryException $e) {
}
return $count;

Подскажите по какой причине в таком коде у меня выкидывается исключение и останавливается выполнение скрипта, несмотря на то, что потенциально небезопасный участок кода обернут в try?
Другой эксепшен вылез
источник

LA

Liv Alex in Laravel Pro
этот. Да это и неважно. Если обобщить в catch до catch(\Exception $e), то ситуация не изменится
источник

P

PSYTRGLES in Laravel Pro
покажи эксепшен сам
источник

P

PSYTRGLES in Laravel Pro
стектрейс смотрел? внутри try кидает, точно?
источник

LA

Liv Alex in Laravel Pro
если это поможет, то возникает ситуация с попыткой дублирования записи в БД, на строки которой наложено ограничение уникальности - система лайков.
источник

LA

Liv Alex in Laravel Pro
PSYTRGLES
покажи эксепшен сам
источник

A

Adel in Laravel Pro
Liv Alex
если это поможет, то возникает ситуация с попыткой дублирования записи в БД, на строки которой наложено ограничение уникальности - система лайков.
У тебя на миграциях падает
источник

P

PSYTRGLES in Laravel Pro
это постгрес?
источник

LA

Liv Alex in Laravel Pro
PSYTRGLES
это постгрес?
да
источник

P

PSYTRGLES in Laravel Pro
ага, судя по стектрейсу дело до кода не дошло
источник

LA

Liv Alex in Laravel Pro
Adel
У тебя на миграциях падает
спс, пошел копать
источник

LA

Liv Alex in Laravel Pro
Adel
У тебя на миграциях падает
покопал. Выкопал
SQLSTATE[23505]: Unique violation: 7 ERROR:  duplicate key value violates unique constraint "likes_likeable_id_likeable_type_user_id_unique"\n
DETAIL:  Key (likeable_id, likeable_type, user_id)=(1, App\Models\Feed, 1) already exists. (SQL: insert into "likes" ("user_id", "likeable_id", "likeable_type", "updated_at", "created_at") values (1, 1, App\Models\Feed, 2019-12-03 12:52:22, 2019-12-03 12:52:22) returning "id")
. Это все-таки constraint срабатывает. Почему тогда падает с исключением, а не обрабатывается согласно описанной логике?
источник