Laravel使用关系的类名而不是关系方法名本身来访问一个雄辩的关系?

时间:2019-07-10 18:09:29

标签: laravel laravel-5 laravel-5.8

使用5.8,想知道是否可以从完全限定名称字符串(即App\Models\WorkflowType到关系的字符串名称,在这种情况下,workflowType可以访问模型上的方法而无需一串弦福。我的关系:

/**
 * Many-to-One relationship to WorkflowType
 *
 * @return \Illuminate\Database\Eloquent\Relations\belongsTo
 */
public function workflowType()
{
    return $this->belongsTo(WorkflowType::class, 'workflow_type_uuid', 'workflow_type_uuid');
}

注意:只是想知道是否存在我不知道的“ laravel”方法。我知道我可以这样做:Str::camel(str_replace('App\\Models\\', '', $className))

1 个答案:

答案 0 :(得分:0)

您可以简单地将belongsTo()设为公开。您可以玩这样的游戏:

$model = WorkflowType::find(1);
$model->belongsTo(SomeOtherType::class);

我不是100%肯定会成功,因为Eloquent确实依赖某些魔术功能。