2017-02-11 4 views
0

私はおそらくかなり簡単な質問だと思っています。Laravelのリソースルートの使用

、彼らが作成する必要がありますように私は私がすべての注文をロードする私のアプリのスポットを持って

など、閲覧、編集され、破壊され、私のクラスの受注 'のリソースルートを生成経由してAJAXは、現在 '未処理'です(!=終了)。

私はorders.showルートを使用することになっていると思います。私がしたい場合は

順/ {ため}

enter image description here

:私の唯一の混乱はそうのように、それはorders.showルートにアクセスすると言うことによって、あなたは順序を指定する必要がURIで来ますAJAXを使用してコントローラーと話をし、コントローラーがステータス!=完了したデータベースから取得したオーダーのリストを返すようにします。URIで何を指定しますか?私は1つの注文をつかむことを望んでいない、私はいくつかをつかみたい。私のコントローラから

public function show(Order $order){ 
    $orders = Order::where('status', '!=' , 'Received')->get(); 
    return $orders; 
    } 

本当にありがとうございました。

答えて

2

showの方法は、単一のリソース(単一の注文)を返すときです。そのため、ルートの一部として注文への参照が必要です。

indexメソッドは、複数のオーダーのリソースのコレクションを返すメソッドです。これにはいくつかの方法があります:デフォルトではすべての注文を返す通常のOrdersControllerを持つことができますが、クエリパラメータはステータスの基礎を制限するか、特定のOutstandingOrdersControllerを作成してそれらの注文のみを返すことができます。

ここでは、最初の方法について説明します。

class OrdersController extends Controller 
{ 
    public function index() 
    { 
     $orders = Order::query(); 

     if (request()->has('outstanding')) { 
      $orders->where('status', '!=', 'Received'); 
     } 

     return $orders->get(); 
    } 
} 

次に、あなたのAjaxライブラリは、優れた注文を取得するために、すべての注文についてGET /orders、またはGET /orders?outstandingを行うことができます。クエリにstatusパラメータを指定して、特定のステータスの注文だけを取得することも考えられます。

関連する問題