我希望在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');
}
答案 0 :(得分:1)
你应该可以这样做:
$columns = Schema::getColumnListing($news->NewsCategories()->getRelated()->getTable()));
使用getRelated()
方法获取关系的相关对象(在您的情况下为App\CategoryNews
),现在使用方法getTable()
,您可以获取此模型的表名称,您可以将此表名用于getColumnListing()
方法。