Maison  >  Article  >  développement back-end  >  Comment aliaser des tables dans Laravel Eloquent et Query Builder ?

Comment aliaser des tables dans Laravel Eloquent et Query Builder ?

Linda Hamilton
Linda Hamiltonoriginal
2024-10-20 09:22:02768parcourir

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>

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>

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>

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'
//   )
// )

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!

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