如何获取Laravel雄辩关系中使用的外键方法?

时间:2019-11-08 11:04:19

标签: php laravel laravel-5 eloquent

我对如何获取其他模型中使用的方法名称有疑问。

有一个模型列表,其中一些模型在与其他模型的关系上使用了不同的方法名称。

例如,我的型号名称为 Member Rate Detail ,其中它属于 Member Rate 模型。从会员费率详细信息会员费率的方法是head()

这是head()方法的示例代码:

public function head()
{
    return $this->belongsTo(MemberRate::class, 'member_rate_head_id')->withTrashed();
}

对于客户详细信息模型,它属于客户模型。并且使用的连接器方法名称为group()

这是group()的示例代码:

public function group()
{
    return $this->belongsTo(Customer::class, 'head_id', 'id')->withTrashed();
}

所以问题是我不知道此模型是否使用head()或group()或其他方法名称。

是否有Laravel Relationship概念方法可以获取使用的外键方法的列表或数组类型?

希望获得方法名称,以便将其定向到其实例类。

例如:

$memberRateDetail->getForeignMethod()->created_by;

**OR**

$customerDetail->getForeignMethod()->created_by;

非常感谢您!

1 个答案:

答案 0 :(得分:-1)

不,除非您自己声明它们,否则不会存在。

比方说,您在所有模型中都声明了一个方法,在此您为类的外部关系声明了方法。您也可以将其实现为接口。

如果您拥有良好的IDE,也可以只使用代码提示,将PHP文档中的关系声明为* @property Collection head也可以提供帮助。