2016-10-26 6 views
-1

私は現在、角度のあるlaravel 5.3を使用しています。 私は投稿の追加/編集/削除などの機能がほとんどありません 今すぐクリックするだけですべての投稿を削除する別の機能があることにしました。

どういうわけか私はすべてが私のサービスの部分までうまくいくことを確認しましたが、それ以降はlaravelのコントローラに渡されていないようです。

angleやlaravelに間違った構文を使用している場合は誰かに教えてもらえますか?

私は、角

私のサービス

$scope.destroyAll = function() { 
     Post.destroyAll() 
      .success(function() { 
       // Use the get() created in Post service 
       // Gets all the posts 
       Post.get() 
        .success(function(getData) { 
         $scope.posts = (getData); 
        }); 
      }) 
    } 

これで私のコントローラのための私のPostController.php

public function destroyall() { 
    Post::truncate(); 
    return response()->json(Post::get()); 
} 

のこのこの

Route::resource('posts', 'PostController'); 
Route::delete('posts/destroyall', array('as' => 'posts.destroyall', 'uses' => '[email protected]')); 

web.phpでこれを持っています

 destroyAll : function() { 
      return $http.delete('/posts/destroyall/'); 
     } 

誰かが私に助言をお願いできますか?

+0

データベース(テーブルデータ)に保存していますか? –

+0

@ShankarShastriはい、DBに格納されていますので、すべてを削除する最も簡単な方法であるテーブル全体をクリアしたかった – WXR

+1

PHPへの単一のルート要求をして、SQLステートメントを切り捨ててデータを切り捨てます。 –

答えて

1

愚かな間違いでしたが、これは頻繁に起こると思います。

これはlaravelのルーティング位置のためです。

私は、リソース、それが機能しなかった理由です削除していた私のルーティングが

Route::delete('posts/destroyall', '[email protected]'); 
Route::resource('posts', 'PostController'); 

する必要があります。 これを切り替えて、今は正常に動作します。

+0

これはおそらくリソースでも削除を呼び出すことができるからです:)コントローラに投稿してそのメソッドを使用することができます – Bas

関連する問題