Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk Alias Tables dalam Laravel Fasih dan Pertanyaan Pembina Pertanyaan?
Ramai pembangun yang menggunakan pembina pertanyaan Laravel atau Fluent API sering menghadapi keperluan untuk alias jadual untuk menjadikan pertanyaan lebih mudah dibaca dan diurus . Artikel ini akan menunjukkan cara membuat alias jadual dalam pertanyaan Laravel Eloquent dan Pembina Pertanyaan.
Pertimbangkan senario berikut:
<code class="php">$users = DB::table('really_long_table_name') ->select('really_long_table_name.id') ->get();</code>
Dalam SQL, kami boleh menggunakan alias jadual untuk memudahkan pertanyaan:
<code class="sql">really_long_table_name AS short_name</code>
Laravel menyokong alias jadual menggunakan kata kunci AS. Untuk alias jadual dalam Laravel Query Builder, cuma tambah alias selepas nama jadual seperti ini:
<code class="php">$users = DB::table('really_long_table_name AS t') ->select('t.id') ->get();</code>
Di sini, table really_long_table_name telah dialiaskan sebagai t. Anda boleh menggunakan alias ini sepanjang pertanyaan, termasuk dalam klausa pilih, di mana dan klausa lain.
Untuk menunjukkan penggunaan, mari kita lakukan pertanyaan menggunakan Tinker:
<code class="bash">Schema::create('really_long_table_name', function($table) {$table->increments('id');}); DB::table('really_long_table_name')->insert(['id' => null]); DB::table('really_long_table_name AS t')->select('t.id AS uid')->get();</code>
Ini akan mengembalikan objek dengan uid lajur beralias, seperti yang ditunjukkan di bawah:
<code class="php">array( 0 => object(stdClass)( 'uid' => '1' ) )</code>
Dengan memahami teknik ini, anda boleh alias jadual dengan berkesan dalam pertanyaan Laravel Eloquent dan Pembina Pertanyaan, menjadikan kod anda lebih mudah dibaca dan diurus, terutamanya apabila bekerja dengan pertanyaan rumit.
Atas ialah kandungan terperinci Bagaimana untuk Alias Tables dalam Laravel Fasih dan Pertanyaan Pembina Pertanyaan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!