我有几个关系的模型包括例如:
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
答案 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());