3 votes

Comment effectuer un chargement rapide dans Laravel, tout en recherchant une entrée spécifique ?

Je souhaite charger avec empressement un utilisateur spécifique, avec son profil d'utilisateur. Ma table et ma classe s'appellent respectivement users et User. Ma table et ma classe Profils sont user_profiles et UserProfile.

Voici ce que j'essaie de faire, mais cela ne semble pas fonctionner

return User::with('user_profiles')->find(1);

3voto

juco Points 2858

Vous devez également définir un méthode de relation dans votre User classe. Quelque chose comme :

public function profile()
{
   return $this->belongs_to('UserProfile');
}

Vous faites ensuite référence au nom de la méthode de relation :

User::with('profile')->get()

0voto

Kazuya Gosho Points 102

J'ai trouvé le code suivant utile pour récupérer toutes les propriétés d'une instance de modèle.

User::with('posts')->get()->find(1);

renvoie un tel tableau

id: 1,
name: 'john',
posts: [
  {
    id: 1,
    title: 'something',
  }
]

Ajouté :

Ce processus sera lent pour les raisons suivantes ->get() récupère toutes les données de la base de données.

donc

User::with('posts')->find(1)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X