Rumah > rangka kerja php > ThinkPHP > Bagaimana untuk menanyakan berbilang data dalam thinkphp

Bagaimana untuk menanyakan berbilang data dalam thinkphp

藏色散人
Lepaskan: 2022-12-05 09:26:45
asal
2167 orang telah melayarinya

Cara untuk menanyakan berbilang data dalam thinkphp: 1. Gunakan kaedah Jadual untuk menanyakan berbilang jadual, dengan sintaks seperti "$Model->table('think_blog blog, think_type type')" 2. Gunakan kaedah Sertai untuk menanyakan Pertanyaan, kod seperti "$Model->join('work ON artist.id = work.artist_id')".

Bagaimana untuk menanyakan berbilang data dalam thinkphp

Persekitaran pengendalian tutorial ini: sistem Windows 7, ThinkPHP versi 5, komputer Dell G3.

Bagaimana untuk menanyakan berbilang data dalam thinkphp?

Pertanyaan berkaitan THINKPHP (pertanyaan berbilang jadual)

Pertanyaan berkaitan THINKPHP (pertanyaan berbilang jadual) boleh menggunakan kaedah table() atau kaedah gabungan , Sila lihat contoh:

1 Kaedah jadual: Tentukan nama jadual data yang akan dikendalikan Anda boleh menukar nama jadual data secara dinamik Anda perlu menulis nama penuh daripada jadual data, termasuk awalan Anda boleh menggunakan alias, contohnya:

$Model->Table('think_user user')
->where('status>1')
->select();
$Model->table('think_blog blog,think_type type')
->where('blog.typeid=type.id')
->field('blog.id as id,blog.title,blog.content,type.typename as type')
->order('blog.id desc' )
->limit(5)
->select();
Salin selepas log masuk

Parameter kaedah Jadual menyokong rentetan dan tatasusunan:

$Model->Table(array('think_user'=>'user','think_group'=>'group'))
->where('status>1')
->select();
Salin selepas log masuk

Kelebihan menggunakan definisi mod tatasusunan ialah ia dapat mengelakkan ralat akibat konflik antara nama jadual dan situasi kata kunci.

Nota: Jika kaedah jadual tidak ditakrifkan, jadual data yang sepadan atau ditakrifkan oleh model semasa akan diperoleh secara automatik secara lalai.

2. Kaedah Sertai: Sokong Sertai Pertanyaan Parameter rentetan dan tatasusunan sokongan kaedah Sertai, dan kaedah gabungan ialah satu-satunya kaedah yang boleh dipanggil berbilang kali dalam operasi yang koheren. . Contohnya:

$Model->join('work ON artist.id = work.artist_id')
->join('card ON artist.card_id = card.id')
->select();
//Left Join
$Model->table('user U')
->join('news N on U.id=N.cid')
->field('U.*,N.*')
->order('id desc')
->limit('8')
->findall();
Salin selepas log masuk

Kaedah LEFT JOIN digunakan secara lalai Jika anda perlu menggunakan kaedah JOIN yang lain, anda boleh menukarnya kepada

$Model->join('RIGHT JOIN work ON artist.id = work.artist_id')
->select();
//Right Join
$Model->table('user U')
->join(array('right','news N on U.id=N.cid'))
->field('U.*,N.*')
->order('id desc')
->limit('8')
->findall();
Salin selepas log masuk

. Jika parameter kaedah cantum menggunakan tatasusunan Jika ya, kaedah cantum hanya boleh digunakan sekali dan tidak boleh dicampur dengan kaedah rentetan.

$Model->join(array(' work ON artist.id = work.artist_id', 'card ON artist.card_id = card.id'))
->select()
Salin selepas log masuk

Menggunakan kaedah operasi koheren ini boleh meningkatkan kejelasan kod dan kecekapan pembangunan pertanyaan data dengan berkesan.

Cara melihat pernyataan SQL untuk operasi berturut-turut:

echo $Model->getLastSql(); //打印一下SQL语句,查看一下
Salin selepas log masuk

Contoh 2:

1

2.1, join()2 pertanyaan jadual
$list = $user->table('user_status stats, user_profile profile')->where('stats.id = profile.typeid')->field('stats.id as id, stats.display as display, profile.title as title,profile.content as content')->order('stats.id desc' )->select();
Salin selepas log masuk

2.2, join() pertanyaan berbilang jadual
$user = new Model('user');
$list = $user->join('RIGHT JOIN user_profile ON user_stats.id = user_profile.typeid' );
Salin selepas log masuk

3 > Pembelajaran yang disyorkan: "
        $list = $Form->join('think_sort ON think_form.sort_id = think_sort.sort_id' )->join('think_brand ON think_form.brand_id = think_brand.brand_id' )->select();
Salin selepas log masuk
Tutorial Video thinkPHP

"

Atas ialah kandungan terperinci Bagaimana untuk menanyakan berbilang data dalam thinkphp. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan