Laravel-无法取消删除并使用软删除显示数据

时间:2018-11-30 15:24:25

标签: php mysql laravel laravel-5 eloquent

您好,我无法取消删除数据,为什么?这是我的代码

控制器

   public function displayArchive()
{
    $clients = Client::withTrashed();
    return view('admin.clients.homeArchive')->with('clients', $clients);
}

视图

中的一个
 <table class="table table-bordered" id="dynamic_field">  
           <tr>  
              <th>Client Code</th>
              <th>Client Name</th>
              <th>Address</th>
              <th>Tel No.</th>
              <th>Contact Person</th>
              <th>Mobile No.</th>
              <th>Email Address</th>
              <th>Website</th>
              <th>Status</th>
              <th>Update</th>

           </tr>  
           @foreach ($clients as $client)
           <tr>
               <td>{{ $client->client_code }}</td>
               <td>{{ $client->client_name }}</td>
               <td>{{ $client->address }}</td>
               <td>{{ $client->tel_no }}</td>
               <td>{{ $client->contact_person }}</td>
               <td>{{ $client->mobile_no }}</td>
               <td>{{ $client->email_ad }}</td>
               <td>{{ $client->website }}</td>
               <td><a href="#" class="btn btn-danger">Inactive</a></td>
               <td><a href="/admin/clients/{{ $client->id }}/edit" class="fa fa-edit btn btn-primary"></a></td>

           </tr>      
           @endforeach

        </table>  

Web 在这里,您可以看到我如何调用控制器并查看页面。

Route::get('/admin/clients/homeArchive', 'Admin\ClientsController@displayArchive');

已编辑 这是修改后的代码,请看一看 我的 模型

 use SoftDeletes;

 protected $dates = ['deleted_at'];
 // Table Name
 protected $table = 'clients';
 // Primary Key
 public $primaryKey = 'id';
 // Timestamps
 public $timestamps = true;

1 个答案:

答案 0 :(得分:0)

您可以尝试使用->get()方法吗?

public function displayArchive()
{
    $clients = Client::withTrashed()->get();
    return view('admin.clients.homeArchive')->with('clients', $clients);
}

注意:它不会取消删除任何数据。它只会获取已删除行的数据。

如果要恢复已删除的数据,则必须使用->restore()方法。


对于所有还原的所有数据;

链接:

<a href="{{ route('admin.client.restore_all') }}" class="btn btn-danger">Inactive</a>

路线:

Route::get('/admin/clients/restore-all', 'Admin\ClientsController@restoreAll')->name('admin.client.restore_all'); 

控制器操作:

public function restoreAll(){
   Client::withTrashed()->restore();
}

逐行恢复数据;

链接:

<a href="{{ route('admin.client.restore', $client->id) }}" class="btn btn-danger">Inactive</a>

路线:

Route::get('/admin/clients/restore/{client}', 'Admin\ClientsController@restore')->name('admin.client.restore');

控制器操作:

public function restore(Client $client){
  $client->restore();
}

$client->id是客户端集合,我想您要在列出的foreach行中处于非活动状态,对吗?