Registre un pequeño problema asociado con el modelo en laravel

  • Justo cuando estaba mirando el código, de repente pensé en un problema que no quería entender antes, pero justo ahora, de repente, fue repentinamente brillante, jajaja, el código es el siguiente:
public function index(Request $request)
{
	return view('user_addresses.index', [
	    'addresses' => $request->user()->addresses,
	]);
}
  • Existe tal método en el controlador, ya que la siguiente $request->user()->addressesparte es así:
    • Primero $request->user(), obtenga el modelo del objeto de inicio de sesión actual. Dado que el addressesmétodo y la addressasociación del modelo se han definido en el modelo de usuario, si desea obtener la dirección del objeto de inicio de sesión en este momento, puede$request->user()->addresses
    • La pregunta anterior era, si desea obtener la dirección, por qué no solicitarla directamente address, solo quería entender, porque lo que desea es la dirección del objeto de inicio de sesión actual.
  • Hay un pequeño problema aquí:
    • ¿Por que $request->user()->addresses's addressesdetrás de él no necesita paréntesis?
    • Es Userun método cuando se define en el modelo.
    public function addresses()
    {
        return $this->hasMany(UserAddress::class);
    }
    
    • Mira la documentación:
    • Inserte la descripción de la imagen aquí
    • Debido a que aquí se addressesaccede como un atributo dinámico, no es necesario agregar
145 artículos originales publicados · Me gusta 38 · Visitas 170,000+

Supongo que te gusta

Origin blog.csdn.net/yehuaner33/article/details/105474801
Recomendado
Clasificación