在Eloquent关系中使用first()



您好。我在维护的代码中看到了这个片段。我试着理解它的含义(比如我甚至必须向某人解释它(。谁可以帮助简化?代码如下所示。

public function pullFrom(string $appType)
{
switch ($appType) {
case 'personal':
case 'plugin':
return $this->belongsTo(PersonalUser::class, 'local_id')->first();
default:
throw new Exception('Invalid user type provided', Response::HTTP_INTERNAL_SERVER_ERROR);
}
}

这和说$user->pullFrom($app_type)->first();一样吗

我认为您应该删除->belongsTo关系中的first((默认情况下,belongsTo只返回与其相关的类的1个元素,并将其从调用中删除:

public function pullFrom(string $appType)
{
switch ($appType) {
case 'personal':
case 'plugin':
return $this->belongsTo(PersonalUser::class, 'local_id');
default:
throw new Exception('Invalid user type provided', Response::HTTP_INTERNAL_SERVER_ERROR);
}
}

最新更新