2017-06-20 41 views
0

我目前在一个数据表中显示所有餐厅,但餐馆也可以有分支机构/特许经营店,所以我试图在同一张表中显示这些。如何在数据表中显示相关项目?

目前,我显示它们如下:

if ($request->ajax()) { 
    $restaurant = Restaurant::query()->with('user'); 

    return Datatables::of($restaurant) 
     ->editColumn('name', function ($restaurant) { 
      return $restaurant->name; 
     }) 
     ->editColumn('user.name', function ($restaurant) { // Owner 
      return $restaurant->user->name; 
     }) 
     ->editColumn('total_orders', function ($restaurant) { 
      return $restaurant->total_orders; 
     }) 
     ->make(true); 
} 

我的关系是餐厅hasMany(Branch::class);和分公司belongsTo(Restaurant::class);

我不认为一个解决方案,让我来显示所有的分支($restaurant->branches->get() )在同一家餐馆的数据表中。

任何帮助和提示将是伟大的!

回答

0

虽然你可以用查询生成器来做到这一点,然后做多个连接,但我更喜欢这样做。

$restaurant = Restaurant::select('restaurant.name as name, user.name as owner,   
    restaurant.total_orders as total_orders, branches.*') 
->with('user', 'branches'); 
相关问题