获取laravel5模型

时间:2016-06-18 12:29:23

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

我有几个关系的模型包括例如:

public function NewsCategory()
{ 
   return $this->belongsTo("News\Model\NewsCategory");
}
public function NewsImage()
{ 
   return $this->belongsTo("News\Model\NewsImage");
}
public function NewsTag()
{ 
   return $this->belongsTo("News\Model\NewsTag");
}

和关系动态创造 我怎样才能获得所有这个类名? 在这个例子中我想要  NewsCategory,NewsImage,NewsTag

2 个答案:

答案 0 :(得分:3)

$model_specific_method_name_array = array_diff(get_class_methods(<YourMOdel>), get_class_methods(<AnotherDummyEloquentModelWithoutAnyMethods>));

然后从数组中删除模型上的其他已知方法。

答案 1 :(得分:2)

一种方法如下:

$results = ModelClass::where(x,y)->with(['NewsCategory','NewsImage','NewsTag'])->first();

然后你可以使用getRelations();

$relationshipKeys = array_keys($results->getRelations());