在laravel中获取具有Eloquent关系的列列表

时间:2016-04-03 08:24:17

标签: php laravel laravel-5 eloquent laravel-5.2

我希望在laravel中获得具有Eloquent关系的列列表。 当我使用这个comman时

 $columns = Schema::getColumnListing('news');

结果是新闻表的所有字段,但我想获得CategoryNews表的关系字段。

新闻模式:

public function NewsCategories()
   {
    return $this->belongsTo('App\CategoryNews');
   }

CategoryNews模型:

public function News()
  {
    return $this->hasMany('App\News');
  }

1 个答案:

答案 0 :(得分:1)

你应该可以这样做:

$columns = Schema::getColumnListing($news->NewsCategories()->getRelated()->getTable()));

使用getRelated()方法获取关系的相关对象(在您的情况下为App\CategoryNews),现在使用方法getTable(),您可以获取此模型的表名称,您可以将此表名用于getColumnListing()方法。