- コードを見ていたときに、今まで知りたくなかった問題を突然思いましたが、今のところ、突然、突然明るくなりました。コードは次のとおりです。
public function index(Request $request)
{
return view('user_addresses.index', [
'addresses' => $request->user()->addresses,
]);
}
- コントローラにはそのようなメソッドがあり、次の
$request->user()->addresses
部分はこのようなものです:- まず
$request->user()
、現在のログインオブジェクトのモデルを取得します。addresses
メソッドとaddress
モデルの関連付けはユーザーモデルで定義されているため、この時点でログインオブジェクトのアドレスを取得する場合は、直接$request->user()->addresses
- 前の質問は、アドレスを取得したい場合は、なぜ
address
それを直接要求しないのか、ただ理解したいだけでした。現在のログインオブジェクトのアドレスが必要だからです。
- まず
- ここに小さな問題があります:
- なぜそれ
$request->user()->addresses
のaddresses
その背後には、括弧を必要としないのですか? User
モデルで定義されている場合の方法です
public function addresses() { return $this->hasMany(UserAddress::class); }
- ドキュメントを見てください:
addresses
ここでは動的属性としてアクセスされるため、追加する必要はありません
- なぜそれ