2017-02-28 9 views
0

私は自分のCartControllerを持っていて、アイテムをカートに追加するadd()メソッドを持っています。アイデアはAJAXを使用してこのメ​​ソッドを呼び出すことで、アイテムをカートに正常に追加した後にJSON応答が生成されます。Laravel 5.2 - JSONレスポンスでオブジェクトを送信するときの問題

class CartController extends Controller 
{ 
    public function add(Request $request, $itemid){ 

    $cart = Auth::user()->cart; 
    $item = Item::find($itemid); 

    $cart->items()->attach($item); 

    return Response::json([ 
    'success' => true, 
    'cart' => $cart 
    ]); 
    } 
} 

私のカートアイテムは多対多の関係にあり、ユーザカートは1対1の関係にあります。

カートに最初のアイテムを追加すると、データベースは正しく更新されますが、応答の$ cartにアイテムの詳細が含まれていません。カートの下のアイテム配列は空ですが、関係はロードされていません。何が間違っているように見えるのですか?

答えて

1

json応答にカートアイテムがあることを確認するには、これらのアイテムを熱心に読み込む必要があります。これは、load機能を使用して行うことができます。

$cart = Auth::user()->cart; 
$item = Item::find($itemid); 

$cart->items()->attach($item); 

// Reload items 
$cart->load('items'); 

return Response::json([ 
    'success' => true, 
    'cart' => $cart 
]); 
関連する問題