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

Rumah rangka kerja php YII yii連接數(shù)據(jù)庫有幾種方法

yii連接數(shù)據(jù)庫有幾種方法

Dec 04, 2019 pm 01:18 PM
yii

yii連接數(shù)據(jù)庫有幾種方法

PDO方式(適合多表連接查詢)。? ? ? ? ? ? ? ? ? (推薦學習:yii框架

$sql = "";//原生態(tài)sql語句 
xx::model()->dbConnection->createCommand($sql)->execute();  非select語句(update、insert、delete)
xx::model()->dbConnection->createCommand($sql)->queryRow(); 查詢select一條記錄
xx::model()->dbConnection->createCommand($sql)->queryAll(); 查詢select多條記錄

$sql = "select a.*, count(b.role_id)as num from {{user_role}} a left join {{user}} b on a.id = b.role_id group by b.role_id order by a.id";
$user_role_info = UserRole::model()->dbConnection->createCommand($sql)->queryAll(); 
$this->render("list", array('user_role_info'=>$user_role_info));

比如

$sql = "select a.*, count(b.role_id)as num from slgo_user_role a left join slgo_user b on a.id = b.role_id group by b.role_id order by a.id";
$user_role_info = UserRole::model()->dbConnection->createCommand($sql)->queryAll(); 
$this->render("list", array('user_role_info'=>$user_role_info));

Active Record方式

(1)New

$post=new Post; 
$post->title='sample post'; 
$post->content='post body content'; 
$post->save();

Criteria方式

也可以使用 $condition 指定更復雜的查詢條件。 不使用字符串, 我們可以讓 $condition 成為一個 CDbCriteria 的實例,它允許我們指定不限于 WHERE 的條件。

$criteria=new CDbCriteria; 
$criteria->select='title';  // 只選擇 'title' 列 
$criteria->condition='postID=:postID'; 
$criteria->params=array(':postID'=>10); 
$post=Post::model()->find($criteria);

一種替代 CDbCriteria 的方法是給 find 方法傳遞一個數(shù)組。 數(shù)組的鍵和值各自對應標準(criterion)的屬性名和值

上面的例子可以重寫為如下:

$post=Post::model()->find(array( 
    'select'=>'title', 
    'condition'=>'postID=:postID', 
    'params'=>array(':postID'=>10), 
));

當一個查詢條件是關于按指定的值匹配幾個列時, 我們可以使用 findByAttributes()。我們使 $attributes 參數(shù)是一個以列名做索引的值的數(shù)組。

在一些框架中, 此任務可以通過調用類似findByNameAndTitle的方法實現(xiàn)。

雖然此方法看起來很誘人, 但它常常引起混淆, 沖突 和比如列名大小寫敏感的問題。

Query Builder 方式

$user = Yii::app()->db->createCommand() 
    ->select('id, username, profile') 
    ->from('tbl_user u') 
    ->join('tbl_profile p', 'u.id=p.user_id') 
    ->where('id=:id', array(':id'=>$id)) 
    ->queryRow();

一、在用好AcitveRecord的情況下,即不要讓其生成比較二的SQL查詢方式,我的經驗,不必過分在意那點時間性能上的區(qū)別的。對于大數(shù)據(jù)查詢,內存空間上的話,在yii2中可以使用 toArray() 來節(jié)省內存消耗。

二、ActiveRecord之于PDO的長處在于其方便。

一個是相比于書寫SQL語句,用ActiveRecord要簡單一點,更重要的是不容易出錯。

二是提供了許多SQL語句之外的便利,比如參數(shù)過濾、綁定等等。這個web開發(fā)中你總要遇到吧,一個SQL語句一個SQL語句的寫,代碼復用程度不高不說,還容易某個地方忘記過濾了,形成安全隱患。

三、 Yii2中已經有Query,性能上優(yōu)于ActiveRecord,可以作為替代。當然,方便與效率是硬幣的兩面,其使用上不如ActiveRecord 方便。

但在項目中我的經驗是Query的使用頻率僅略少于ActiveRecord,個人認為Query/ActiveQuery是Yii2中引入的一個 激動人心的新feature。

四、前面幾條說的是ActiveRecord的應用場景。對于PDO,如果要用的話, 應該是對于比較復雜的SQL操作,比如一兩句話寫不清楚的。

這種情況下,使用ActiveRecord來構建,其復雜程度不亞于直接寫SQL,那么可以考 慮使用PDO。但我印象中,如果項目中使用的SQL語句很復雜,會被寫成DB的View或者存儲過程,所以,感覺PDO使用并不多,可以說是極少的。

五、追求更高效率的話,個人也不認為應該過多使用PDO,這給后期維護帶來極大的難度。倒是可以考慮優(yōu)化SQL查詢,優(yōu)化索引和表結構,使用緩存等。值得一提的是,使用緩存,是最簡單、直接,成效也最為明顯的手段。

六、永遠沒必要過早考慮性能問題

Atas ialah kandungan terperinci yii連接數(shù)據(jù)庫有幾種方法. 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
Yii2 vs Phalcon: Rangka kerja manakah yang lebih baik untuk membangunkan aplikasi pemaparan grafik? Yii2 vs Phalcon: Rangka kerja manakah yang lebih baik untuk membangunkan aplikasi pemaparan grafik? Jun 19, 2023 am 08:09 AM

Dalam era maklumat semasa, data besar, kecerdasan buatan, pengkomputeran awan dan teknologi lain telah menjadi tumpuan perusahaan utama. Di antara teknologi ini, teknologi pemaparan kad grafik, sebagai teknologi pemprosesan grafik berprestasi tinggi, telah mendapat perhatian yang lebih. Teknologi pemaparan kad grafik digunakan secara meluas dalam pembangunan permainan, filem dan kesan khas televisyen, pemodelan kejuruteraan dan bidang lain. Bagi pembangun, memilih rangka kerja yang sesuai dengan projek mereka adalah keputusan yang sangat penting. Antara bahasa semasa, PHP ialah bahasa yang sangat dinamik Beberapa rangka kerja PHP yang sangat baik seperti Yii2, Ph

Pertanyaan data dalam rangka kerja Yii: capai data dengan cekap Pertanyaan data dalam rangka kerja Yii: capai data dengan cekap Jun 21, 2023 am 11:22 AM

Rangka kerja Yii ialah rangka kerja aplikasi Web PHP sumber terbuka yang menyediakan pelbagai alatan dan komponen untuk memudahkan proses pembangunan aplikasi Web, yang mana pertanyaan data merupakan salah satu komponen penting. Dalam rangka kerja Yii, kita boleh menggunakan sintaks seperti SQL untuk mengakses pangkalan data untuk membuat pertanyaan dan memanipulasi data dengan cekap. Pembina pertanyaan rangka kerja Yii terutamanya termasuk jenis berikut: pertanyaan ActiveRecord, pertanyaan QueryBuilder, pertanyaan arahan dan pertanyaan SQL asal

Symfony vs Yii2: Rangka kerja manakah yang lebih baik untuk membangunkan aplikasi web berskala besar? Symfony vs Yii2: Rangka kerja manakah yang lebih baik untuk membangunkan aplikasi web berskala besar? Jun 19, 2023 am 10:57 AM

Memandangkan permintaan untuk aplikasi web terus berkembang, pembangun mempunyai lebih banyak pilihan dalam memilih rangka kerja pembangunan. Symfony dan Yii2 ialah dua rangka kerja PHP yang popular Kedua-duanya mempunyai fungsi dan prestasi yang berkuasa, tetapi apabila berhadapan dengan keperluan untuk membangunkan aplikasi web berskala besar, rangka kerja manakah yang lebih sesuai? Seterusnya kami akan menjalankan analisis perbandingan Symphony dan Yii2 untuk membantu anda membuat pilihan yang lebih baik. Gambaran Keseluruhan Asas Symphony ialah rangka kerja aplikasi web sumber terbuka yang ditulis dalam PHP dan dibina di atas

Cara menggunakan rangka kerja PHP Yii untuk membangunkan sistem sandaran awan yang sangat tersedia Cara menggunakan rangka kerja PHP Yii untuk membangunkan sistem sandaran awan yang sangat tersedia Jun 27, 2023 am 09:04 AM

Dengan perkembangan berterusan teknologi pengkomputeran awan, sandaran data telah menjadi sesuatu yang mesti dilakukan oleh setiap perusahaan. Dalam konteks ini, amat penting untuk membangunkan sistem sandaran awan yang sangat tersedia. Rangka kerja PHP Yii ialah rangka kerja berkuasa yang boleh membantu pembangun membina aplikasi web berprestasi tinggi dengan cepat. Berikut akan memperkenalkan cara menggunakan rangka kerja Yii untuk membangunkan sistem sandaran awan yang sangat tersedia. Mereka bentuk model pangkalan data Dalam rangka kerja Yii, model pangkalan data adalah bahagian yang sangat penting. Kerana sistem sandaran data memerlukan banyak jadual dan hubungan

Apakah perbezaan antara kerangka php laravel dan yii Apakah perbezaan antara kerangka php laravel dan yii Apr 30, 2025 pm 02:24 PM

Perbezaan utama antara Laravel dan Yii adalah konsep reka bentuk, ciri -ciri fungsional dan senario penggunaan. 1. Laravel memberi tumpuan kepada kesederhanaan dan keseronokan pembangunan, dan menyediakan fungsi yang kaya seperti alat eloquentorm dan artisan, sesuai untuk pembangunan dan pemula yang pesat. 2.YII menekankan prestasi dan kecekapan, sesuai untuk aplikasi beban tinggi, dan menyediakan sistem Activerecord dan cache yang cekap, tetapi mempunyai lengkung pembelajaran yang curam.

Yii dengan Docker: Containerizing dan Menggunakan Aplikasi Anda Yii dengan Docker: Containerizing dan Menggunakan Aplikasi Anda Apr 02, 2025 pm 02:13 PM

Langkah -langkah untuk membekalkan dan menggunakan aplikasi YII menggunakan Docker termasuk: 1. Buat Dockerfile dan tentukan proses bangunan imej; 2. Gunakan DockerCompose untuk melancarkan aplikasi YII dan pangkalan data MySQL; 3. Mengoptimumkan saiz dan prestasi imej. Ini melibatkan bukan sahaja operasi teknikal tertentu, tetapi juga memahami prinsip kerja dan amalan terbaik Dockerfile untuk memastikan penggunaan yang cekap dan boleh dipercayai.

Yii2 vs Symfony: Rangka kerja manakah yang lebih baik untuk pembangunan API? Yii2 vs Symfony: Rangka kerja manakah yang lebih baik untuk pembangunan API? Jun 18, 2023 pm 11:00 PM

Dengan perkembangan pesat Internet, API telah menjadi cara penting untuk bertukar-tukar data antara pelbagai aplikasi. Oleh itu, menjadi semakin penting untuk membangunkan rangka kerja API yang mudah diselenggara, cekap dan stabil. Apabila memilih rangka kerja API, Yii2 dan Symfony ialah dua pilihan popular dalam kalangan pembangun. Jadi, yang manakah lebih sesuai untuk pembangunan API? Artikel ini akan membandingkan kedua-dua rangka kerja ini dan memberikan beberapa kesimpulan. 1. Pengenalan asas Yii2 dan Symfony ialah rangka kerja PHP matang dengan sambungan sepadan yang boleh digunakan untuk membangunkan

Panduan Pengaturcaraan Yii2: Kaedah Menjalankan Perkhidmatan Cron Panduan Pengaturcaraan Yii2: Kaedah Menjalankan Perkhidmatan Cron Sep 01, 2023 pm 11:21 PM

Jika anda bertanya "Apakah Yii?", lihat tutorial saya sebelum ini: Pengenalan kepada Rangka Kerja Yii, yang menyemak faedah Yii dan menggariskan perkara baharu dalam Yii 2.0, yang dikeluarkan pada Oktober 2014. Hmm> Dalam siri Pengaturcaraan dengan Yii2 ini, saya akan membimbing pembaca menggunakan rangka kerja Yii2PHP. Dalam tutorial hari ini, saya akan berkongsi dengan anda cara memanfaatkan fungsi konsol Yii untuk menjalankan kerja cron. Pada masa lalu, saya telah menggunakan wget - URL yang boleh diakses web - dalam tugas cron untuk menjalankan tugas latar belakang saya. Ini menimbulkan kebimbangan keselamatan dan mempunyai beberapa masalah prestasi. Semasa saya membincangkan beberapa cara untuk mengurangkan risiko dalam siri Keselamatan untuk Permulaan kami, saya berharap untuk beralih kepada arahan yang dipacu konsol

See all articles