2016-08-19 16 views
0

私はこのコードを持っています。多対多Ajax Laravel 5.2

public function items($subcategory_id){ 

    $items = $this->ajax->items($subcategory_id); 

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

、出力は次のとおりです。 enter image description here

あなたは多くに多くのUNIT_IDリファレンスを参照してくださいすることができますし、JavaScriptでUNIT_IDの名前を取得するには、それを操作することができないので。それをループして自分の配列を作成するか、それを実行する関数が必要ですか? 私のリポジトリコードはこちらです。

public function items($subcategory_id){ 

    $this->modelName = new Subcategory(); 
    return $this->modelName->find($subcategory_id)->items; 
} 

マイモデル

namespace App; 

use Illuminate\Database\Eloquent\Model; 

class Subcategory extends Model 
{ 
    protected $table = 'subcategories'; 
    protected $fillable = [ 
     'qty', 'desc', 'unit_price', 'ext_price' 
    ]; 
    public function items(){ 

     return $this->belongsToMany('App\Item', 'item_subcategory', 'subcategory_id', 'item_id')->withTimestamps(); 
    } 
} 
+0

は熱心なロードを使用しています。私はあなたのモデルと関係が何であるかは理解していません。モデルのコードを投稿してください。 – PawelMysior

+0

public function items(){ \t return $ this-> belongsToMany( 'App \ Item'、 'item_subcategory'、 'subcategory_id'、 'item_id') - > withTimestamps(); } – Rbex

+0

javascriptに送信するJSON構造は何ですか? – KmasterYC

答えて

1

積極的なロードを使用してください。これは、これらの項目に関連ItemsUnitsその関連で特定のSubcategoryを取得します:あなたがする必要がどのような

Subcategory::where('id', $subcategoryId)->with('items.unit')->get(); 
+0

それは魅力のように動作します。 – Rbex