问题描述
当我使用 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)
的含义。