Laravel Eloquent 返回所有关系的模型

问题描述

当我使用 User 模型返回我需要的数据时,它给了我包含所有关系的对象列表。 用户模型

class User extends Model implements AuthenticatableContract,AuthorizableContract
{
    use SoftDeletes,Authenticatable,Authorizable,HasFactory,Notifiable;

    public function getNameAttribute()
    {
        return $this->last_name.' '.$this->first_name;
    }

    public function service(){
        return $this->BelongsTo(Service::class);
    }

    public function group(){
        return $this->BelongsTo(Group::class);
    }
}
public function getUser($id){
    return User::find($id);
}

如何只返回用户字段而不返回关系对象?

PS:我使用的是 laravel 8 + Vuejs + Inertia js

解决方法

如果您不要求,Laravel 不会返回任何关系……如果您没有使用 with 并编写所需的关系,那么当您执行 {{1 }} as User::find($id);find...

的别名

所以它没有任何关系......你必须解释更多......

这是 source code,因此您可以看到 $model->whereKey($id)->first($columns) 的含义。