Comment aliaser des tables dans Laravel Eloquent et Query Builder ?

Linda Hamilton
Libérer: 2024-10-20 09:22:02
original
766 Les gens l'ont consulté

How to Alias Tables in Laravel Eloquent and Query Builder?

Aliasing de tables dans Laravel Eloquent and Query Builder

Dans le générateur de requêtes de Laravel, vous pouvez rencontrer des scénarios dans lesquels renommer un alias de table améliorerait la lisibilité du code et réduirait l'effort de saisie. Supposons que vous ayez une table avec un nom long comme « really_long_table_name ».

La syntaxe SQL pour créer un alias d'une table est :

<code class="sql">really_long_table_name AS short_name</code>
Copier après la connexion

Pour obtenir la même chose dans le générateur de requêtes de Laravel, suivez ces étapes :

Utilisation d'AS avec Query Builder

<code class="php">$users = DB::table('really_long_table_name AS t')
           ->select('t.id AS uid')
           ->get();</code>
Copier après la connexion

Utilisation d'AS avec Eloquent

<code class="php">$users = App\User::from('really_long_table_name AS t')
           ->select('t.id AS uid')
           ->get();</code>
Copier après la connexion

Exemple Utilisation

Utilisons Tinker pour démontrer la fonctionnalité :

$ php artisan tinker
[1] > Schema::create('really_long_table_name', function($table) {$table->increments('id');});
// NULL
[2] > DB::table('really_long_table_name')->insert(['id' => null]);
// true
[3] > DB::table('really_long_table_name AS t')->select('t.id AS uid')->get();
// array(
//   0 => object(stdClass)(
//     'uid' => '1'
//   )
// )
Copier après la connexion

En créant des alias de tables et de colonnes, vous pouvez simplifier vos requêtes, les rendant plus lisibles et concises.

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
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