Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Jadual Alias ​​dalam Laravel Eloquent dan Query Builder?

Bagaimana untuk Jadual Alias ​​dalam Laravel Eloquent dan Query Builder?

Linda Hamilton
Linda Hamiltonasal
2024-10-20 09:22:02678semak imbas

How to Alias Tables in Laravel Eloquent and Query Builder?

Menamakan Jadual dalam Laravel Fasih dan Pembina Pertanyaan

Dalam pembina pertanyaan Laravel, anda mungkin menghadapi senario di mana menamakan semula alias jadual akan meningkatkan kebolehbacaan kod dan mengurangkan usaha menaip. Katakan anda mempunyai jadual dengan nama yang panjang seperti 'really_long_table_name'.

Sintaks SQL untuk mengaliaskan jadual ialah:

<code class="sql">really_long_table_name AS short_name</code>

Untuk mencapai perkara yang sama dalam pembina pertanyaan Laravel, ikut langkah ini :

Menggunakan AS dengan Pembina Pertanyaan

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

Menggunakan AS dengan Fasih

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

Contoh Penggunaan

Mari kita gunakan Tinker untuk menunjukkan kefungsian:

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

Dengan mengalikan jadual dan lajur, anda boleh memudahkan pertanyaan anda, menjadikannya lebih mudah dibaca dan ringkas.

Atas ialah kandungan terperinci Bagaimana untuk Jadual Alias ​​dalam Laravel Eloquent dan Query Builder?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn