Laravel получает доступ к красноречивому отношению с именем класса отношения, а не к самому имени метода отношения? - PullRequest
0 голосов
/ 10 июля 2019

Используя 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 голосов
/ 10 июля 2019

Вы можете просто позвонить на belongsTo(), так как он общедоступный. Вы можете поиграть с чем-то вроде этого:

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

Я не уверен на 100%, что это сработает, поскольку Eloquent зависит от некоторых магических функций.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...