【问题标题】:Using first() on Eloquent Relationships在 Eloquent 关系上使用 first()
【发布时间】:2022-01-15 05:17:56
【问题描述】:

美好的一天。我在我正在维护的代码中看到了这个 sn-p。我试图理解它的含义(比如我什至必须向某人解释)。谁能帮助简化? 代码如下所示。

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(); 一样吗

【问题讨论】:

  • 这是在名为 User.php 的模型中吗?
  • 你认为这段代码“意味着”什么,是吗?您的问题说“方法与调用方法是否相同”没有意义...
  • 是的@GilesBennett,它在一个名为 User.php 的模型中

标签: php laravel eloquent relationship


【解决方案1】:

我认为你应该从 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);
        }
    }

【讨论】:

  • 谢谢@Marwane
猜你喜欢
  • 2013-09-09
  • 2019-10-25
  • 2019-08-24
  • 2019-07-27
  • 2013-09-28
  • 1970-01-01
  • 1970-01-01
  • 2016-04-14
  • 2014-07-20
相关资源
最近更新 更多