Maison >base de données >tutoriel mysql >Laravel Eloquent ORM dans la récupération de modèles de pièces Bangla)

Laravel Eloquent ORM dans la récupération de modèles de pièces Bangla)

Linda Hamilton
Linda Hamiltonoriginal
2025-01-08 20:11:45874parcourir

Laravel Eloquent ORM in Bangla Part-Models Retrieving)

Laravel Eloquent fournit des méthodes pratiques et lisibles pour interagir avec la base de données, facilitant ainsi l'obtention des données de la base de données. Plusieurs techniques d'acquisition de données sont présentées ci-dessous :

1. Obtenez tous les enregistrements

Utilisez la méthode all() pour obtenir tous les enregistrements du tableau :

<code class="language-php">use App\Models\Post;

$posts = Post::all();</code>

Cela renverra une collection. Vous pouvez accéder aux données à l'aide de foreach boucles ou d'autres méthodes de collecte :

<code class="language-php">foreach ($posts as $post) {
    echo $post->title;
}</code>

2. Obtenez un seul enregistrement

1. find() Méthode : Obtenez un seul enregistrement basé sur la clé primaire.

<code class="language-php">$post = Post::find(1);

if ($post) {
    echo $post->title;
}</code>

2. findOrFail() Méthode : Obtenez un seul enregistrement basé sur la clé primaire. Si l'enregistrement n'existe pas, une exception 404 sera levée.

<code class="language-php">$post = Post::findOrFail(1);</code>

3. first() Méthode : Obtenez le premier enregistrement qui remplit les conditions.

<code class="language-php">$post = Post::where('status', 'published')->first();</code>

4. firstOrFail() Méthode : Obtenez le premier enregistrement qui remplit les conditions. Si l'enregistrement n'existe pas, une exception 404 sera levée.

<code class="language-php">$post = Post::where('status', 'published')->firstOrFail();</code>

3. Utilisez les conditions de requête pour filtrer les enregistrements

Utilisez where et d'autres instructions conditionnelles pour filtrer les données.

1. where Méthode :

<code class="language-php">$posts = Post::where('status', 'published')->get();</code>

2. Conditions multiples :

<code class="language-php">$posts = Post::where('status', 'published')
             ->where('user_id', 1)
             ->get();</code>

3. orWhere Méthode :

<code class="language-php">$posts = Post::where('status', 'published')
             ->orWhere('status', 'draft')
             ->get();</code>

4. Sélectionnez des champs spécifiques

Eloquent obtient tous les champs par défaut. Utilisez la méthode select() pour sélectionner un champ spécifique :

<code class="language-php">$posts = Post::select('title', 'content')->get();</code>

5. Pagination

Utilisez la méthode paginate() pour obtenir des données dans les pages :

<code class="language-php">$posts = Post::paginate(10);</code>

Afficher les liens de pagination dans les modèles Blade :

<code class="language-blade">{{ $posts->links() }}</code>

6. Regroupement des données

Lors du traitement de grandes quantités de données, l'utilisation de la mémoire peut être efficacement réduite :

<code class="language-php">Post::chunk(100, function ($posts) {
    foreach ($posts as $post) {
        echo $post->title;
    }
});</code>

7. Tri des résultats (Commande)

Utilisez la méthode orderBy() pour trier dans l'ordre spécifié :

<code class="language-php">$posts = Post::orderBy('created_at', 'desc')->get();</code>

8. Limite et décalage

Utilisez les méthodes take() ou limit() et skip() pour limiter le nombre d'enregistrements récupérés :

<code class="language-php">$posts = Post::take(5)->get(); // 获取前 5 条记录
$posts = Post::skip(10)->take(5)->get(); // 跳过前 10 条,获取接下来的 5 条</code>

9. Fonctions d'agrégation (Agrégats)

1. Compte :

<code class="language-php">$count = Post::count();</code>

2. Valeur maximale :

<code class="language-php">$maxViews = Post::max('views');</code>

3. Valeur minimale :

<code class="language-php">$minViews = Post::min('views');</code>

4. Moyenne :

<code class="language-php">$avgViews = Post::avg('views');</code>

5. Somme :

<code class="language-php">$totalViews = Post::sum('views');</code>

10. Récupération de relation personnalisée

Eloquent prend en charge l'obtention de données à partir d'autres modèles via des relations.

1. Chargement impatient :

<code class="language-php">$posts = Post::with('comments')->get();</code>

2. Précisez la relation :

<code class="language-php">$posts = Post::with(['comments', 'user'])->get();</code>

11. Requêtes brutes

Exécutez des requêtes SQL personnalisées à l'aide de la façade DB de Laravel :

<code class="language-php">use App\Models\Post;

$posts = Post::all();</code>

Ces méthodes fournissent des méthodes d'acquisition de données flexibles pour répondre à divers besoins d'exploitation de bases de données. Veuillez choisir la méthode appropriée en fonction de la situation réelle.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn