Laravel用户地址场景- HasMany



用户表(users):

  • id
  • <
  • 名称/gh>

地址表(user_addreses):

  • id
  • user_id
  • city_id

Cities table (cities):

  • id
  • <
  • 名称/gh>用户模型:

public function address() {
return $this->hasMany('AppModelsUserAddreses');
}

如何从cities表中获得此地址的城市?

UserAddresesmodel:

public function city() {
return $this->belongsTo(City::class);
}

错误:属性[city]不存在

我需要运行的命令:

$user = User::find(Auth::user()->id);
dd($user->address->city);

您的错误是$user->address返回collection,因此您必须迭代每一个以获得->city

$cities = $user->address->map(function (Address $address) {
return $address->city;
});

最新更新