看这里:
当我点击按钮删除时,删除的数据仍会出现在界面中。
我查看数据库中的表,数据被删除。
如果我在git bash上运行这个:php artisan cache:clear
,数据可能会丢失。
如果不运行命令,数据可以被删除吗?
更新
我的控制器是这样的:
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;
}
}
答案 0 :(得分:0)
我看到你也在使用rinvex存储库。我没有看到有关获取数据的代码。我假设您从存储库缓存中获取数据。在您的存储库中,您的删除功能。
public function delete($id){
return $this->delete($id);
}
这应该清除存储库缓存。 如果您想手动清除存储库的缓存,请在存储库方法中尝试以下操作。
$this->forgetCache();
或
$this->getContainer('events')->fire($this->getRepositoryId() . '.entity.updated', [$this, $modelInstance]);
实际上,forgetCache()方法应该这样做,在我对我的表进行大量更新后,我在我的存储库中使用它。