2016-11-02 20 views
0

管理者が複数の製品をチェックして削除できるチェックボックスを使ってテーブルを作成しようとしています。これまでのところ私はLaravelで一度に複数のレコードを削除しようとしています

public function testDelete() { 

    $delete = Input::only('delete')['delete']; 

    $pDel = Product::where('product_id', $delete); 

    $pDel->delete(); 
    return Redirect::to('/admin/test')->with('message', 'Product(s) deleted.'); 
} 

これまでのところ、私は製品をチェックしたときに、コントローラでフォーム

@foreach($products as $product) 
    {{ Form::open() }} 
      <input type="checkbox" name="delete[]" value="{{ $product->product_id }}"> 
      <a class="btn btn-primary" href="{{ URL::to('/admin/products/multiDdelete') }}?_token={{ csrf_token() }}">Delete</a> 
    {{ Form::close() }} 
@endforeach 

これは私のルート

Route::get ('/admin/products/multiDdelete', ['uses' => '[email protected]', 'before' => 'csrf|admin']); 

にあり、これを作ったとDeleteページのリロードをヒットしましたと私が得るが削除された製品が削除されていません。私は問題が私がID'sをどのように渡すかであると思うが、私はそれを考え出すことができない。

答えて

2

ここでは何も役に立ちません。 ->get()であっても、あなたが望むように使うことができないコレクションを返します。代わりにクエリに削除を追加することができます。

Product::whereIn('product_id', $delete)->delete(); 
関連する問題