在 Eloquent 关系上使用 first()

Using first() on Eloquent Relationships

美好的一天。我在我维护的代码中看到了这个片段。我正在努力思考它的含义(就像我什至必须向某人解释一样)。谁能帮忙简化一下? 代码如下所示。

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 returns 只有 class 的 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);
        }
    }