Laravel Eloquent 返回包含所有关系的模型
Laravel Eloquent returning model with all relations
当我使用用户模型 return 我需要的数据时,它为我提供了包含所有关系的对象列表。
用户模型
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);
}
我如何 return 只有用户字段而没有关系对象?
PS:我正在使用 laravel 8 + Vuejs + Inertia js
Laravel 没有 return 任何关系,如果你不要求它......如果你没有使用 with
并写下想要的关系,那么你就不会去当您执行 User::find($id);
时获得关系,因为 find
是 $model->whereKey($id)->first($columns)
...
的别名
所以没有任何关系...你必须解释更多...
这是 source code 所以你可以看到 find
是什么意思。
当我使用用户模型 return 我需要的数据时,它为我提供了包含所有关系的对象列表。 用户模型
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);
}
我如何 return 只有用户字段而没有关系对象?
PS:我正在使用 laravel 8 + Vuejs + Inertia js
Laravel 没有 return 任何关系,如果你不要求它......如果你没有使用 with
并写下想要的关系,那么你就不会去当您执行 User::find($id);
时获得关系,因为 find
是 $model->whereKey($id)->first($columns)
...
所以没有任何关系...你必须解释更多...
这是 source code 所以你可以看到 find
是什么意思。