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