2016-04-17 5 views
0

フォームを使用せずにオブジェクトを削除しようとしています。だから私がやったことは即興でした。Laravel href destroy

Route::get('category/destroyMe', ['uses' => '[email protected]', 'as' => 'category.destroyMe']); 

そしてビューで、私はそうのようなカテゴリID拾っています:

<a href="{{route('category.destroyMe', ['id' => $category->id])}}" ></a> 

そして最後にコントローラ:

public function destroyMe() 
{ 
    $this->destroy(Category::find(Input::get('id'))); 
    return redirect()->back(); 
} 

質問を私はルートを作りました。 ヘルパーメソッドなしでこれを行う方法があるかどうか疑問に思っていましたdestroyMe()method = 'DELETE'をhrefなどで転送する方法があるので、私のリソースルートはcategory.destroyのように呼び出すことができます。

編集: 私はフォームでやりたいとは思いません(そのようにする方法はわかっています)。また、私はajaxやその他のスクリプトや何かを複雑にしたくない。

<a href="{{ action('[email protected]', ['id' => $category->id]) }}" ></a> 

と行動:私は

<a href="{{route('category.destroy', ['id' => $category->id, 'method' => 'DELETE])}}" ></a> 
+0

[?破壊するためにリンクする方法をCRUD Laravel 4]の可能性のある重複(http://stackoverflow.com/questions/19643483/crud- laravel-4-how-to-destroy-to-destroy) – Fuzzyma

+0

重複が私の質問に答えることができません – Norgul

+0

少なくともサーバーへの削除呼び出しを行う方法については、たくさんの提案があります。フォームコントローラを使用してフォームを生成するのが最も普及した方法です。 – Fuzzyma

答えて

1

のような純粋なLaravel滑らかな解決策がある場合は、このお試しください疑問に思って、私は投稿を削除することが可能なブログを持って

public function destroyMe($id) 
{ 
    Category::destroy($id); 
    return redirect()->back(); 
} 
+0

私は同じルートを作成すると思います。 – Fuzzyma

+0

私の方法はうまくいきました。単純にしたかっただけです – Norgul

+0

私のコードは、あなたが望むことを行う最も簡単な方法だと思います。 –

0

をし、これは私のために働く

<a href="{{ route('delete-post', ['post_id' => $post->id]) }}">x</a> 

T彼はルーティング:

Route::get('delete/{post_id}', ['uses' => '[email protected]', 'as' => 'delete-post']); 

そしてPostsControllerの中の関数を

public function delete($id) { 
    Post::destroy($id); 

    return redirect()->back()->with(["deleted" => "The post was deleted"]); 
}