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
Libérer: 2025-01-08 20:11:45
original
814 Les gens l'ont consulté

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>
Copier après la connexion
Copier après la connexion

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>
Copier après la connexion

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>
Copier après la connexion

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>
Copier après la connexion

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

<code class="language-php">$post = Post::where('status', 'published')->first();</code>
Copier après la connexion

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>
Copier après la connexion

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>
Copier après la connexion

2. Conditions multiples :

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

3. orWhere Méthode :

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

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>
Copier après la connexion

5. Pagination

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

<code class="language-php">$posts = Post::paginate(10);</code>
Copier après la connexion

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

<code class="language-blade">{{ $posts->links() }}</code>
Copier après la connexion

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>
Copier après la connexion

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>
Copier après la connexion

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>
Copier après la connexion

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

1. Compte :

<code class="language-php">$count = Post::count();</code>
Copier après la connexion

2. Valeur maximale :

<code class="language-php">$maxViews = Post::max('views');</code>
Copier après la connexion

3. Valeur minimale :

<code class="language-php">$minViews = Post::min('views');</code>
Copier après la connexion

4. Moyenne :

<code class="language-php">$avgViews = Post::avg('views');</code>
Copier après la connexion

5. Somme :

<code class="language-php">$totalViews = Post::sum('views');</code>
Copier après la connexion

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>
Copier après la connexion

2. Précisez la relation :

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

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>
Copier après la connexion
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal