Не корректно работает detach() в laravel 5.7?

Доброго времени суток. Который день бьюсь над багом.
В общем, есть модели пользователи и платежи. Используется связь многие ко многим. Пользователю прикрепляется платеж в сводную таблицу.
Связь у модели пользователя

/*
     * Связь с таблицей платежей пользователей
     *
     */
    public function pays(){
	    return $this->belongsToMany(Pay::class,
            'pay_users',
            'user_id',
            'pays_id'
        )->withPivot('id', 'date', 'summ', 'doc');
    }

Связь у модели платежей

public function users(){
        $this->belongsToMany(User::class,
            'pay_users',
            'pays_id',
            'user_id')->withPivot('id', 'date', 'summ', 'doc');
    }

Удаление

public function destroy($id, $value)
    {

        $user = User::find($id);

        $user->pays()->detach($value);

        return redirect()->route('admin.user-pays.index', $id);
    }

Прикрепляется все ок, а вот не всегда удаляется. Удаляет нормально тогда, когда базу откатишь
php artisan migrate:reset
. После этого отката - удаляет, но не все, выборочно. Проверял id, которые приходят, все верно. Ошибок никаких нет ни в консоли, ни в логах. Что может быть такое?
  • Вопрос задан
  • 282 просмотра
Решения вопроса 1
@kastembay Автор вопроса
Русич
Сделал грубо и нагло
DB::table('pay_users')
            ->where('id', $payId)
            ->take(1)
            ->delete();
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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