2016-12-14 10 views
0

私はこの関係をLaravel query_builderからLaravel eqloquentに転送しようとしています。しかし、それは無用になります。データベースの関係をラベールの雄弁に変更する

$category_products = DB::table('products') 
      ->Join('categories', 'products.category_id', '=', 'categories.id') 
      ->select('products.*', 'categories.CategoryEnName') 
      ->where('categories.parent_id', '=', '2') 
      ->get(); 

上記のコードはうまく機能しているが、それは、このようなlaravel "改ページ" で作業していない:

$category_products = DB::table('products') 
       ->Join('categories', 'products.category_id', '=', 'categories.id') 
       ->select('products.*', 'categories.CategoryEnName') 
       ->where('categories.parent_id', '=', '2') 
       ->get()->paginate(15); 

That'smyカテゴリモデル:

class Category extends Model 
{ 
    protected $guarded = ['id']; 

    //For the nested "tree like" categories 
    public function parent() 
    { 
     return $this->belongsTo('App\Category', 'parent_id'); 
    } 

    //For the nested "tree like" categories 
    public function children() 
    { 
     return $this->hasMany('App\Category', 'parent_id'); 
    } 


    /** 
    * 
    *Grab all the products belong to this category 
    * 
    */ 
    public function products() 
    { 
     return $this->hasMany('App\Product'); 
    } 

私が望むのは、クエリビルダーからLaravelの雄弁にコードを変更する方法です。

答えて

1

paginate()をご使用の場合は、不要です。get()