Смотри сюда :
Когда я нажимаю кнопку «Удалить», удаленные данные все еще появляются в интерфейсе.
Я смотрю на таблицу в базе данных, данные стираются.
Данные могут быть потеряны, если я запустил это: php artisan cache:clear
on git bash.
Как без запуска команды данные могут быть стерты?
ОБНОВИТЬ
Мой контроллер выглядит так:
public function deleteAccount(Request $request) { $id_account = $request->input('id_account'); try{ if($this->user_service->deleteAccount($id_account)) { $status='success'; }else { $status = 'failed'; } return redirect('member/profile/setting/account')->with('status',$status); }catch (\Exception $exception){ return $this->respondInternalError(); } }
Мой сервис выглядит следующим образом:
public function deleteAccount($id_account) { return $this->user_bank_repository->delete($id_account); }
Мой репозиторий выглядит так:
<?php namespace App\Repositories; use App\Models\UsersBank; use Illuminate\Contracts\Container\Container; use Rinvex\Repository\Repositories\EloquentRepository; class UserBankRepository extends EloquentRepository { public function __construct(Container $container) { $this->setContainer($container) ->setModel(UsersBank::class) ->setRepositoryId('rinvex.repository.uniqueid'); } public function delete($id) { $data = self::find($id)->delete(); return $data; } }
Я также вижу, что вы также используете репозиторий rinvex. Я не вижу ваш код для получения данных. Я предполагаю, что вы извлекаете данные из кеша репозитория. В вашем репозитории ваша функция удаления.
public function delete($id){ return $this->delete($id); }
это должно очистить кеш хранилища. если вы хотите очистить кеш репозитория вручную, попробуйте выполнить следующие действия в методе репозитория.
$this->forgetCache();
или
$this->getContainer('events')->fire($this->getRepositoryId() . '.entity.updated', [$this, $modelInstance]);
на самом деле метод forgetCache () должен делать, я использую его в своем репозитории после того, как сделал массовое обновление для своей таблицы.