2017-10-18 9 views
0

私は次のモデルがあります:Laravel 5.2:ピボットテーブルのフィールド順モデル

- User: 
id 

- Product: 
id 
lid 
user_id 

- ProductCategories: 
product_id 
category_id 
lid 

- Category: 
id 

関係:

ユーザーhasManyの製品

製品belongsToManyカテゴリ

を、私は、ユーザーを持ち、私はカテゴリidを持っていて、ProductCategoryの蓋で注文されたカテゴリに属する​​製品が必要です

これに最適な解決策は何ですか?

現在、これは私が使用するトリングてるものですが、それは正しい方法で注文していません:

$products = $user->products()->whereHas('categories', function($q) use ($category){ 
    $q->where('category_id', $category)->orderBy('product_categories.lid', 'asc'); 
})->paginate(20); 

答えて

0

sollutionされました:

$products = $user->products()->whereHas('categories', function($q) use ($category){ 
    $q->orderBy('product_categories.lid', 'asc'); 
}) 
->leftJoin('product_categories', 'products.id', '=', 'product_categories.product_id') 
->leftJoin('categories', 'product_categories.category_id', '=', 'categories.id') 
->where('product_categories.category_id', $category) 
->select('products.*') 
->orderBy('product_categories.lid', 'asc')->paginate(20); 
関連する問題