Size: a a a

2019 December 03

A

Adel in Laravel Pro
Liv Alex
покопал. Выкопал
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 срабатывает. Почему тогда падает с исключением, а не обрабатывается согласно описанной логике?
Миграция
источник

A

Adel in Laravel Pro
У тебя тот код в миграции?
источник

LA

Liv Alex in Laravel Pro
$table->unique(['likeable_id', 'likeable_type', 'user_id']);
источник

A

Adel in Laravel Pro
А. Ты не тот Трейси показал сначала видимо
источник

A

Adel in Laravel Pro
Трейс
источник

BI

Bohdan Ilchenko in Laravel Pro
Привет всем! У меня в базе хранятся заведения с кординатами (широта, долгота), буду получать кординаты пользователя, нужно выбрать те заведения которые находятся в определенном радиусе от пользователя, а еще лучше показать какие до данных заведений расстояния. В какую сторону смотреть, есть какие-то пакеты? Может не правильно строил запрос, но подходящего не нашел
источник

LA

Liv Alex in Laravel Pro
у меня тест, который пытается дважды одним юзером лайкнуть сущность. Первый лайк проходит. Второй падает.
источник

LA

Liv Alex in Laravel Pro
Adel
А. Ты не тот Трейси показал сначала видимо
да, я показал трейс, выпавший мне в консоль по результату отработки теста
источник

LA

Liv Alex in Laravel Pro
а сейчас я дампнул catch и вывел $e->getMessage()
источник

A

Adel in Laravel Pro
Liv Alex
а сейчас я дампнул catch и вывел $e->getMessage()
Так значит ты поймал исключение
источник

LA

Liv Alex in Laravel Pro
ок, тогда почему тест падает, а не проходит?
источник

A

Adel in Laravel Pro
Из-за миграций? Ты чот намудрил с транзакциями
источник

LA

Liv Alex in Laravel Pro
вот код постановки лайка
 try {
   $this->likes()->create([
       'user_id' => $userId ?? auth()->id()
   ]);
} catch (\Exception $e) {
   return $this->getLikesCount();
}

return $this->incrementLikesCount();
источник

LA

Liv Alex in Laravel Pro
т.е. он в catch должен выполнять return, а он вместо этого валится в error :(
источник

A

Adel in Laravel Pro
Liv Alex
вот код постановки лайка
 try {
   $this->likes()->create([
       'user_id' => $userId ?? auth()->id()
   ]);
} catch (\Exception $e) {
   return $this->getLikesCount();
}

return $this->incrementLikesCount();
Ты показал нам трейс ошибки. И он показывает что падает не в том месте
источник

BI

Bohdan Ilchenko in Laravel Pro
Пока идей нет, с гео не работал еще, но по ответам гугла вижу что туда копать стоит https://stackoverflow.com/questions/29013049/using-postgis-geography-functions-from-laravel
источник

BI

Bohdan Ilchenko in Laravel Pro
postgres
источник

АЗ

Алихан Закиров... in Laravel Pro
источник

АЗ

Алихан Закиров... in Laravel Pro
Тут же уже все написано, какой у тебя вопрос?:)
источник

АЗ

Алихан Закиров... in Laravel Pro
По той ссылке есть прям запрос который тебе нужен, с выборкой в определенной дистанции
источник