国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Rumah rangka kerja php ThinkPHP Cara menggunakan fungsi korelasi pertanyaan ThinkPHP

Cara menggunakan fungsi korelasi pertanyaan ThinkPHP

Jun 03, 2023 am 08:01 AM
thinkphp

1. Persatuan model

1.1 Persatuan satu sama satu

Persatuan satu dengan satu ialah dua data Terdapat hanya satu rekod dalam setiap jadual Dalam kes ini, fungsi hasOne() dan belongTo() digunakan untuk mengaitkan. Katakan kita mempunyai dua jadual data, satu dipanggil jadual pengguna (jadual pengguna) dan satu lagi jadual maklumat pengguna (jadual info pengguna adalah seperti berikut:

user:
id
name

userinfo:
id
user_id
age

Dua jadual di atas diwakili). mengikut medan user_id dikaitkan. Sekarang kita perlu menanyakan maklumat pengguna dan umur yang sepadan dalam jadual pengguna Langkah-langkahnya adalah seperti berikut:

Tentukan kaedah userinfo() dalam model Pengguna, dengan sebarang nama kaedah.

//User模型

<?php

class User extends Model{
public function userinfo(){
return $this -> hasOne(&#39;UserInfo&#39;, &#39;user_id&#39;);
}
}

Tentukan kaedah umur() dalam model Pengguna Kaedah ini sebenarnya mentakrifkan atribut yang mengakses medan umur model info pengguna.

//User模型
<?php

class User extends Model{
protected $readonly = [&#39;age&#39;];

public function userinfo(){
return $this -> hasOne(&#39;UserInfo&#39;, &#39;user_id&#39;);
}

public function getAgeAttr($value, $data){
if(isset($data[&#39;userinfo&#39;])){
return $data[&#39;userinfo&#39;][&#39;age&#39;];
}
return &#39;&#39;;
}
}

Selepas melengkapkan kod di atas, kami boleh menggunakan kaedah find() untuk menanyakan pengguna yang kami mahu dan umur mereka:

//查詢user表中id為1的用戶

$user = User::get(1);
echo $user -> name;
echo $user -> age;

Nota: Dalam kod di atas, kami menggunakan $ The readonly atribut, atribut $readonly ialah atribut yang disediakan oleh ThinkPHP, yang boleh melindungi beberapa atribut daripada ditulis ke pangkalan data. Dalam kod di atas, kami menetapkan atribut umur sebagai atribut baca sahaja, supaya apabila $user -> age diakses, kaedah getAgeAttr akan dipanggil secara automatik untuk menanyakan medan umur dalam model info pengguna.

1.2 Perkaitan satu-ke-banyak

Perkaitan satu-ke-banyak bermakna satu daripada dua jadual data mempunyai berbilang rekod dan satu lagi hanya mempunyai satu rekod. Seperti dalam contoh berikut:

order:
id
user_id
order_no

order_goods:
id
order_id
name
price

Dua jadual di atas berkaitan melalui id_perintah medan. Kami kini perlu mencari maklumat pesanan pengguna dan maklumat produk yang sepadan dalam jadual pengguna Operasi khusus adalah seperti berikut:

Tentukan kaedah pesanan() dalam model Pengguna pesanan.

//User模型

<?php
class User extends Model{
public function orders(){
return $this -> hasMany(&#39;Order&#39;, &#39;user_id&#39;);
}
}

Tentukan kaedah barang() dalam model Pesanan Kaedah ini menunjukkan bahawa pesanan mempunyai berbilang produk.

//Order模型
<?php
class Order extends Model{
public function goods(){
return $this -> hasMany(&#39;OrderGoods&#39;, &#39;order_id&#39;);
}
}

Selepas mentakrifkan perkaitan di atas, kami boleh menggunakan kaedah find() untuk menanyakan pesanan pengguna dan produk yang sepadan dengan setiap pesanan:

//查詢user表中id為1的用戶的訂單信息和訂單的商品信息

$user = User::get(1, &#39;orders.goods&#39;);
var_dump($user -> orders[0] -> goods);

Parameter terakhir ('orders.goods ' ) bermaksud menanyakan semua Pesanan dan maklumat Barang berkaitan Pesanannya pada masa yang sama.

2. Perkaitan pertanyaan

2.1 Menggunakan pertanyaan perkaitan

Kami boleh mengakses atribut perkaitan yang ditakrifkan dalam lapisan model, Laksanakan pertanyaan berkaitan tanpa menentukan perhubungan pada peringkat lapisan model. Sebagai contoh, kami kini ingin menanyakan pengguna dan maklumat pesanannya:

$user = User::get(1);
$orders = $user -> orders;
echo $user -> name;
foreach($orders as $order){
echo $order -> order_no . "\n";
}

2.2 Persatuan Tertunda

Jika kami tidak mahu menanyakan perkaitannya secara automatik semasa membuat pertanyaan model Perhubungan, anda boleh menggunakan korelasi tertunda untuk mencapai keperluan ini. Contohnya:

$user = User::with(&#39;orders&#39;)->get(1);

Dalam kod di atas, apabila kami menetapkan pembolehubah $user, kami menentukan perkaitan yang akan diperolehi dalam fungsi with() Pada masa ini, pernyataan pertanyaan tidak akan menanyakan perkaitan secara automatik secara lalai, tetapi akan menunggu kami Pertanyaan hanya akan dilakukan apabila menggunakan perhubungan perkaitan.

2.3 Mengandungi perkaitan

Selain perkaitan tertunda di atas, kami juga boleh memasukkan semua perkaitan secara automatik dengan menetapkan parameter sebenar selepas kaedah dengan untuk mencapai keperluan pertanyaan kami . Contohnya:

$user = User::with(&#39;orders&#39;)->find(1, true);

Dalam kod di atas, kami menambahkan parameter benar pada kaedah find() Parameter ini menunjukkan bahawa kami ingin memasukkan semua perkaitan model pengguna.

Atas ialah kandungan terperinci Cara menggunakan fungsi korelasi pertanyaan ThinkPHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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

Alat AI Hot

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial PHP
1502
276
Bagaimana untuk menjalankan projek thinkphp Bagaimana untuk menjalankan projek thinkphp Apr 09, 2024 pm 05:33 PM

Untuk menjalankan projek ThinkPHP, anda perlu: memasang Komposer untuk mencipta projek, masukkan direktori projek dan laksanakan php bin/console serve;

Terdapat beberapa versi thinkphp Terdapat beberapa versi thinkphp Apr 09, 2024 pm 06:09 PM

ThinkPHP mempunyai berbilang versi yang direka untuk versi PHP yang berbeza. Versi utama termasuk 3.2, 5.0, 5.1 dan 6.0, manakala versi kecil digunakan untuk membetulkan pepijat dan menyediakan ciri baharu. Versi stabil terkini ialah ThinkPHP 6.0.16. Apabila memilih versi, pertimbangkan versi PHP, keperluan ciri dan sokongan komuniti. Adalah disyorkan untuk menggunakan versi stabil terkini untuk prestasi dan sokongan terbaik.

Bagaimana untuk menjalankan thinkphp Bagaimana untuk menjalankan thinkphp Apr 09, 2024 pm 05:39 PM

Langkah-langkah untuk menjalankan ThinkPHP Framework secara setempat: Muat turun dan nyahzip ThinkPHP Framework ke direktori tempatan. Buat hos maya (pilihan) yang menunjuk ke direktori akar ThinkPHP. Konfigurasikan parameter sambungan pangkalan data. Mulakan pelayan web. Mulakan aplikasi ThinkPHP. Akses URL aplikasi ThinkPHP dan jalankannya.

Mana yang lebih baik, laravel atau thinkphp? Mana yang lebih baik, laravel atau thinkphp? Apr 09, 2024 pm 03:18 PM

Perbandingan prestasi rangka kerja Laravel dan ThinkPHP: ThinkPHP umumnya berprestasi lebih baik daripada Laravel, memfokuskan pada pengoptimuman dan caching. Laravel berfungsi dengan baik, tetapi untuk aplikasi yang kompleks, ThinkPHP mungkin lebih sesuai.

Bagaimana untuk memasang thinkphp Bagaimana untuk memasang thinkphp Apr 09, 2024 pm 05:42 PM

Langkah pemasangan ThinkPHP: Sediakan persekitaran PHP, Komposer dan MySQL. Buat projek menggunakan Komposer. Pasang rangka kerja dan kebergantungan ThinkPHP. Konfigurasikan sambungan pangkalan data. Hasilkan kod aplikasi. Lancarkan aplikasi dan lawati http://localhost:8000.

Bagaimanakah prestasi thinkphp? Bagaimanakah prestasi thinkphp? Apr 09, 2024 pm 05:24 PM

ThinkPHP ialah rangka kerja PHP berprestasi tinggi dengan kelebihan seperti mekanisme caching, pengoptimuman kod, pemprosesan selari dan pengoptimuman pangkalan data. Ujian prestasi rasmi menunjukkan bahawa ia boleh mengendalikan lebih daripada 10,000 permintaan sesaat, dan digunakan secara meluas dalam tapak web dan sistem perusahaan berskala besar seperti JD.com dan Ctrip dalam aplikasi praktikal.

Cadangan pembangunan: Cara menggunakan rangka kerja ThinkPHP untuk pembangunan API Cadangan pembangunan: Cara menggunakan rangka kerja ThinkPHP untuk pembangunan API Nov 22, 2023 pm 05:18 PM

Cadangan pembangunan: Cara menggunakan rangka kerja ThinkPHP untuk pembangunan API Dengan pembangunan berterusan Internet, kepentingan API (Antara Muka Pengaturcaraan Aplikasi) telah menjadi semakin menonjol. API ialah jambatan untuk komunikasi antara aplikasi yang berbeza Ia boleh merealisasikan perkongsian data, panggilan fungsi dan operasi lain, dan menyediakan pembangun kaedah pembangunan yang agak mudah dan pantas. Sebagai rangka kerja pembangunan PHP yang sangat baik, rangka kerja ThinkPHP adalah cekap, berskala dan mudah digunakan.

Cadangan pembangunan: Cara menggunakan rangka kerja ThinkPHP untuk melaksanakan tugas tak segerak Cadangan pembangunan: Cara menggunakan rangka kerja ThinkPHP untuk melaksanakan tugas tak segerak Nov 22, 2023 pm 12:01 PM

"Cadangan Pembangunan: Cara Menggunakan Rangka Kerja ThinkPHP untuk Melaksanakan Tugas Asynchronous" Dengan perkembangan pesat teknologi Internet, aplikasi Web mempunyai keperluan yang semakin tinggi untuk mengendalikan sejumlah besar permintaan serentak dan logik perniagaan yang kompleks. Untuk meningkatkan prestasi sistem dan pengalaman pengguna, pembangun sering mempertimbangkan untuk menggunakan tugas tak segerak untuk melaksanakan beberapa operasi yang memakan masa, seperti menghantar e-mel, memproses muat naik fail, menjana laporan, dsb. Dalam bidang PHP, rangka kerja ThinkPHP, sebagai rangka kerja pembangunan yang popular, menyediakan beberapa cara mudah untuk melaksanakan tugas tak segerak.

See all articles