. (=) where $select = Db::table('shop_goods')->where('id','=','1')->select();
print_r($select- > toArray()); # Tidak sama dengan (<>)$select = Db::table('shop_goods')->where('id','<>' , '2')->select(); print_r($select->toArray()); # lebih besar daripada (>)
$select = Db::table('shop_goods' )->di mana('id','>','3')->select(); print_r($select->toArray()); # Lebih besar daripada atau sama ke (> ;=)
$select = Db::table('shop_goods')->where('id','>=','4')->select(); print_r( $select- >toArray()); # Kurang daripada (<)
$select = Db::table('shop_goods')->where('id','<', '5') ->select(); print_r($select->toArray()); # Kurang daripada atau sama dengan (<=)
$select = Db::table ('shop_goods')-> ;where('id','<=','6')->select(); print_r($select->toArray()); # Lagi di mana
$pilih + ;-& Gt; pilih (); ); print_r($select->toArray()); # NOT LIKE
$select = Db:: table('shop_goods')->where('title','not like ','%dress%')->select(); print_r($select->toArray()); # ANTARA$select = Db::table('shop_goods') ->di mana('id','antara','6,10')->select();print_r($select ->toArray());
# BUKAN ANTARA $select = Db::table('shop_goods')->where('id','not between',[6,10]) ->select();print_r($select->toArray( ));
# IN$select = Db::table('shop_goods')->where('id' ,'in','4,7,10')->select( );print_r($select->toArray());
# NOT IN$select = Db::table('shop_goods')->where('id','not in',[4,7,10])->select(); print_r($select-> ;toArray());
2. Jadual data1, jadual dan nama # Mesti lengkapkan nama pangkalan data $select = Db::table('shop_goods')->where('id' ,'10')->select(); print_r($select->toArray()); # Pangkalan data tidak mempunyai set awalan $select = Db::name('shop_goods')- > di mana('id','11')->select(); print_r($select->toArray()); # Awalan tetapan pangkalan data, tiada akses awalan $select = Db: :name ('list')->where('id','12')->select(); print_r($select->toArray());
2 Konfigurasi pangkalan data database.php database.php
return [ 'connections' => [ 'mysql' => [ // 数据库表前缀 'prefix' => Env::get('database.prefix', 'shop_'), ] ] ];
三、返回值1、field kembali [ prefix' => Env: :get('database.prefix', 'shop_'), ] ]]; 3. Nilai pulangan 1 medan utama kaedah medan Ia digunakan untuk mengenal pasti medan yang akan dikembalikan atau dikendalikan, yang boleh digunakan untuk pertanyaan dan operasi menulis Kaedah boleh menggunakan kaedah lapangan. '= & gt;' d' # Tambah, hanya bidang ini boleh ditambah # berbilang bidang $ data = [
'title' = & gt; harga' => 50, ' diskaun' => 8, 'tambah_masa' =>; -& GT; Medan ('Tajuk') -& GT ('Harga') -& GT; & gt; masukkan $data);print_r($insert);# Tanya semua medan, lebih cepat $select = Db::table('shop_goods')
- ->field(true(true) ) // ->field('*') - ->where('status',1) - ->select();print_r($select->toArray() ); 2. withoutField
Db::table('shop_goods')->withoutField('id')->select(); withoutField Db::table('shop_goods')->fieldRaw('id,sum(price)')->select(); 3、fieldRaw $select = Db::table('shop_goods')->select();
echo Db::getLastSql(); 四、排序
1、order 方法用于对操作的结果排序或者优先级限制 $select = Db::table('shop_goods') ->field('title,price,id') ->where('status',1) ->order('price','DESC') ->order('id','DESC') ->select(); print_r($select->toArray());
2、orderRaw 方法中使用mysql函数 $select = Db::table('shop_goods') ->field('title,price,id') ->where('status',1) ->orderRaw("field(title,'price','discount','stock')") ->select(); print_r($select->toArray());
五、分页limit 3. fieldRaw
fieldRaw kaedah terus menggunakan fungsi mysql $select = Db::table('shop_goods')->fetchSql()->select();
echo $select; 4. Isih1. Kaedah order digunakan untuk mengisih atau mengutamakan hasil operasi Tertib ke hadapan lalai - Tertib ke hadapan asc🎜🎜
- 🎜desc tertib terbalik🎜🎜🎜🎜🎜$select = Db::table('shop_goods')🎜 🎜 - ->medan(' tajuk,harga,id')🎜🎜 - ->di mana('status',1)🎜🎜 - ->pesanan('harga','DESC')🎜🎜 - -> ;order('id','DESC') ; -& Gt; pilih (); fungsi mysql 🎜🎜🎜 $ pilih = db :: jadual ('barang_kedai') 🎜🎜 -& gt; Medan ('tajuk, harga, id') 🎜🎜 -& gt; & gt; orderRaw ("fIELD (tajuk, 'harga' 'diskaun', 'stok')")🎜🎜 ->select();🎜🎜print_r($select->toArray());🎜🎜
5. Penomboran- Kaedah 🎜had digunakan terutamanya untuk menentukan bilangan pertanyaan dan operasi🎜🎜🎜 🎜🎜$select = Db::table('kedai_barang')🎜 🎜 .; -& Gt; had (3) -& gt; ) ->medan('tajuk,harga,id') - ->di mana('status',1)
- ->pesanan('harga','DESC')
- - >had(0, ( 'barang_kedai') - ->bidang('tajuk,harga,id') - ->di mana('status',1) - ->pesanan(' price','DESC') - >page(1,5) - ->select(); print_r($select->toArray());
6. Pertanyaan pengagregatan-
page Kaedah pengagregatan Jika tiada data, lalainya ialah 0, pertanyaan pengagregatan boleh dipadankan dengan syarat pertanyaan lain kaedah fungsi fungsi parameter nama medan untuk dikira (pilihan) maks Dapatkan nilai maksimum, parameter ialah nama medan untuk dikira (diperlukan)
min | Dapatkan nilai minimum, parameter adalah medan nama untuk dikira (diperlukan) | avg | Dapatkan nilai purata, parameter akan dikira Nama medan (diperlukan) | sum | mendapat jumlah nombor, parameter ialah nama medan dikira (diperlukan) | // Kira kuantiti, parameter ialah nama medan yang akan dikira (pilihan) $select = Db::table('shop_goods')->count(); print_r($select);
// Dapatkan nilai maksimum, parameter ialah nama medan untuk dikira (diperlukan) $select = Db::table('shop_goods')->max('id'); print_r ($select);
// Dapatkan nilai minimum, parameter ialah nama medan untuk dikira (diperlukan) $select = Db::table('shop_goods')->min('id '); print_r($ pilih);
// Dapatkan nilai purata, parameter ialah nama medan untuk dikira (diperlukan) $select = Db::table('shop_goods')- >avg('id'); print_r($select);
// Dapatkan jumlah nombor, parameter ialah nama medan untuk dikira (diperlukan) $select = Db::table ('shop_goods')->sum('id'); print_r($select);
7 Cari dan menyusun contoh kod pengawal indeks fungsi awam(){ =. 'mall'; $login = 'Ouyang Ke'; # Menu kiri $menu = Db::table('shop_menu')->where('fid',0)->select() ; $left = $menu->toArray() ; foreach($left as &$left_v){ $left_v['lists'] = Db::table('shop_menu')->where ('fid',$left_v['id'])- >select(); } # Senarai kanan $param = Request::param(); if(isset($param[' status']) && $param ['status'] = = 1){ $dimana ['status'] = 1; menggunakan ' melalui menggunakan ' melalui menggunakan melalui menggunakan ' melalui menggunakan ' melalui ‐ ‐ ‐ ‐ ‐ a -> ;order('add_time DESC') sebagai &$right_v){ $right_v['cat'] = Db: :table('shop_cat')->where('id',$right_v['cat'])->value('name') ; } View::assign([ keluar keluar keluar ' keluar keluar keluar keluar keluar keluar keluar keluar keluar keluar keluar keluar keluar keluar keluar keluar dari O ke arah s over 's- s t-wU iw-s-sssssss. 'kiri' => $kiri, 'kanan' => $betul, 'status' => isset($param['status']) ? $param['status'] : null ]); return View::fetch();=" }
view代码 <form class="layui-form" method > <div class="layui-form-item" style="margin-top:10px;"> <div class="layui-input-inline"> pilih nama < ="status"> <nilai pilihan="0" {jika $status==0}dipilih{/if}>全部</option> ; status==1}dipilih{/if}>开启</option> <nilai pilihan="2" {jika $status==2}dipilih{/if}>关闭</option> . /i>搜索</button> </div> </form>
8. Contoh Pagingkod pengawal indeks fungsi awam(){ $title = 'mall'; $login $login Menu kiri $menu = Db::table('shop_menu')->where('fid',0)->select(); $left = $menu->toArray(); foreach($left as &$left_v){ $left_v['lists'] = Db::table('shop_menu')->where('fid',$left_v['id'])-> (); } # Senarai kanan $param = Request::param(); if(isset($param['status']) && $param['status'] == 1 ){ Gunakan menggunakan penggunaan menggunakan '] = 2; } else { Gunakan menggunakan menggunakan menggunakan menggunakan melalui menggunakan melalui keluar melalui keluar melalui keluar melalui keluar melalui - - - - untuk jumlah statistik $ count = Db::table('shop_goods')->where($where)->count(); $list = Db::table('shop_goods') - -> ) -& gt; pesanan ('tambah_masa desc') - & gt; ; Pilih (); $right = $list->toArray(); foreach($right as &$right_v){ $right_v['cat'] = Db::table('shop_cat') ->di mana( 'id',$right_v['cat'])-> $login, gunakan menggunakan menggunakan menggunakan menggunakan keluar keluar keluar melalui keluar melalui keluar melalui melalui ' s ‐ ‐ ‐ ‐ ‐ ‐‐ 'p' => $p, 'status' => isset($param['status']) ? lihat kod<div class="layui-box layui-laypage layui-laypage-default"> <a href="/index.php/Index/index?p={$p-1}&status={$status}" class="layui-laypage-prev {jika $p<=1}layui-disabled {/if}">Halaman sebelumnya</a> {untuk permulaan="0" end="$count"} ="layui-laypage-curr"> </span> }</a> $p>=$count}layui-disabled{/if}">Halaman seterusnya</a> </div> . halaman membelok kod html jumlah Dapatkan jumlah kuantiti kod pengawal $select = Db::table('shop_goods')->paginate(10);
print_r($select);gema '< hr>';print_r('Total:'.$select->total());echo '<hr>'; View:: tetapkan([ 'select' => $ select]);return View::fetch();lihat kod <div>{$select|v}</di; css代码 .penomboran { paparan: inline-block; padding-left: 0; jidar: 20px 0 jidar; 0 jidar } .penomboran > li { paparan: sebaris; } .penomboran > li > a, .penomboran > li > rentang { kedudukan: relatif; apungan: kiri; padding: 6px 12px; jidar-kiri: -1px; garis-tinggi: 1.43 : 1 hiasan teks : tiada; warna latar belakang: #fff; jidar: 1px pepejal #ddd;}.penomboran > li:anak pertama > a,.penomboran > li:anak pertama > rentang { jidar-kiri: 0; jidar-atas-kiri-jejari: 4px; jidar-bawah-kiri-jejari: 4px;};penomboran > li:anak terakhir > a,.penomboran > li:anak terakhir > rentang { sempadan-atas-kanan-jejari: 4px; sempadan-bawah-kanan-jejari: 4px;}.penomboran > li > a:hover,.penomboran > li > span:hover,.penomboran > li > a:fokus,.penomboran > li > span:focus { z-index: 2; color: #23527c; background-color: #eee; border-color: #ddd;}} .aktif > a,.penomboran > .aktif > span,.penomboran > .aktif > a:hover,.penomboran > .aktif > span:hover,.penomboran > .aktif > a:fokus,.penomboran > .aktif > span:focus { z-index: 3; color: #fff; cursor: default; background-color: #337ab7; border-color: #33}ab. > .kurang upaya > span, .penomboran > .kurang upaya > span:hover, .penomboran > .kurang upaya > span:focus, .penomboran > .kurang upaya > a, .penomboran > .kurang upaya > a:hover, .penomboran > .kurang upaya > a:fokus { warna: #777; kursor: tidak dibenarkan; warna latar belakang: #fff; warna sempadan: #ddd; } Contoh halaman templat pathurl path | pertanyaan | parameter tambahan url | serpihan | sauh url | var_page | pembolehubah paging | kod pengawal indeks fungsi awam(){ $title = 'Mall'; $login = 'Ouyang Ke'; # Menu kiri $menu = Db::table('shop_menu' ->di mana('fid',0)->pilih(); $left = $menu->toArray(); foreach($left as &$left_v){ $left_v[ ' lists'] = Db::table('shop_menu')->where('fid',$left_v['id'])->select(); } # Senarai kanan $ param = Permintaan::param(); if(isset($param['status']) && $param['status'] == 1){ $where['status'] = 1; }else if(isset($param['status']) && $param['status'] == 2){ $where['status'] = 2; } else{ $ di mana } $p = isset($param['p']) ? $param['p'] : 1; # thinkphp disertakan dengan paging $list = Db::table('shop_goods' ) ([ ' )->di mana('id',$right_v['cat'])->value( 'nama'); } Lihat :: tetapkan ([ 'tajuk' = & gt; $ jadual, 'log masuk' = & gt; $ log masuk, 'kiri' = & gt; $ kiri; 'kanan' = & gt; $ kanan;;
11. Penyahpepijatan SQL// 启动事务
Db::startTrans();
$data = ['cat'=>'1','title'=>'日系小浪漫与温暖羊毛针织拼接网纱百褶中长收腰连衣裙','price'=>'1598.35','add_time'=>1576080000];
$insert = Db::table('shop_goods')->insert($data);
if(empty($insert)){
// 回滚事务
Db::rollback();
}else{
// 提交事务
Db::commit();
} fetchSql
getLastSql kaedah executs SQL🜜 hanya boleh dieksekusi kaedah Db::transaction(function () {
$data = ['cat'=>'1','title'=>'日系小浪漫与温暖羊毛针织拼接网纱百褶中长收腰连衣裙','price'=>'1598.35','add_time'=>1576080000];
$insert = Db::table('shop_goods')->insert($data);
});
fetchSql mengembalikan secara langsung SQL semasa tanpa melaksanakan $select = Db::table('shop_goods')
->field('title,price,id')
->where('status',1)
->order('price','DESC')
->select();
if($select->isEmpty()){
echo '未查询到数据';
}else{
print_r($select->toArray());
} 12. Konfigurasikan pangkalan data secara dinamik
pangkalan data direktori fail config kembali php direktori kembali. 'sambungan' jenis ', 'mysql'), 'nama hos' ' => Env::get('database .Password ',' ROOT '), // port ' hostport '= & gt; env :: get (' database.hostport ',' 3306 '), // parameter sambungan pangkalan data ' params '' => 'awalan '= & Gt; env :: dapatkan (' database.prefix ',' shop _ '), // kaedah penempatan pangkalan data: 0 tertumpu (pelayan tunggal), 1 diedarkan (pelayan utama) ' deploy '= > , = & gt; memerlukan garis berat yang terputus ' break_reconnect '= & gt // 监听SQL 'trigger_sql' ; benar开启字段缓存 'fields_cache' => palsu, // 字段缓存路径 'schema_cache_path' => app()->getRuntimePath() . BUAT JADUAL `pengguna_kedai` ( `uid` int( 10) tidak ditandatangani NOT NULL AUTO_INCREMENT ULASAN 'User ID', `akaun` varchar(50) BUKAN NULL ULASAN 'Akaun', `kata laluan` char(32) BUKAN NULL ULASAN 'Kata Laluan', (50) NOT NULL ULASAN 'Nama', `status` tinyint(1) unsigned NOT NULL DEFAULT '1' ULASAN 'Status 1 on 2 off', `add_time` int(10) unsigned NOT NULL ULASAN 'Tambah masa', KUNCI UTAMA (`uid`) ) ENGINE=MyISAM AUTO_INCREMENT=3 CHARSET DEFAULT=utf8mb4 COMMENT='Backend administrator'; >konfigurasi sambungan pangkalan data secara dinamik maklumat Db::connect('ouyangke')->table('shop_user')->select(); connect kaedah diperlukan Dipanggil pada permulaan pertanyaan, dan mesti diikuti dengan kaedah pertanyaan, jika tidak, beberapa pertanyaan mungkin gagal atau sambungan pangkalan data lalai masih boleh digunakan13. Operasi rantaian WHRER (tidak biasa digunakan)Pertanyaan kabur Rentetan Watak | whereNotLike* | Fuzzy query | String | whereBetween* | interval query | String | Notlike query | String | whereIn* | IN pertanyaan | string | whereNotIn* | Not in IN query | string | whereNull* | Soal sama ada medan itu NULL | di mana | | | | | | medan pertanyaan Bukankah NULL | String | whereExists* | WUJUD pertanyaan | String . String | | whereExp* | Pertanyaan ungkapan, menyokong sintaks SQLString | | whereFindInSet* | FIND_IN_SET pertanyaanString | | | whereFindInSet*FIND_IN_SET pertanyaan | String | | digunakan untuk rentetan secara langsung Watak Lidi | | 14. Operasi rantai lain (tidak biasa digunakan) Operasi berterusan | Fungsi | Jenis parameter yang disokong | alias | digunakan untuk mentakrifkan data semasa | | strict | digunakan untuk menetapkan sama ada untuk mengesan dengan ketat sama ada nama medan wujud | Nilai Boolean | kumpulan | digunakan untuk sokongan kumpulan untuk pertanyaan | rentetan | rentetan digunakan untuk mempunyai | untuk mempunyai | pertanyaan | String | sertai* | Untuk menyertai sokongan untuk pertanyaan | String dan tatasusunan | union* | Untuk sokongan kesatuan untuk pertanyaan dan rentetan | berbeza | berbeza sokongan untuk pertanyaan | boolean | kunci | mekanisme kunci untuk pangkalan data | boolean | cache | untuk cache pertanyaan | | berbilang parameter komen untuk komen SQL | String | force | digunakan untuk pengindeksan paksa set data | String | Partition | digunakan untuk menetapkan maklumat partition | Array String | FailException | digunakan untuk menetapkan sama ada data tidak dipersoalkan atau tidak dibuang Pengecualian | Nilai Boolean | jujukan | digunakan untuk menetapkan nama jujukan kenaikan automatik | rentetan | menggantikan | Boolean kaedah untuk menetapkan Boole | | tambahan pertanyaan semasa ialah pertanyaan prosedur tersimpan Nilai Boolean | | master | digunakan untuk menetapkan pelayan induk untuk membaca data Nilai Boolean | | view* | digunakan untuk pertanyaan paparan tatasusunan 15. Operasi transaksi
rrreeerrreee十六、数据集数据库通过select查询,得到的数据集对象 返回的数据集对象是thinkCollection rreee🎜🎜< Kaedah kod>transaksi mengendalikan transaksi pangkalan data Apabila pengecualian berlaku dalam kod dalam penutupan, ia akan melancarkan semula secara automatik🎜rrreee🎜16 Set data🎜🎜🎜Pangkalan data disoal melalui pilih Objek dataset 🎜🎜🎜Objek dataset yang dikembalikan ialah thinkCollection , yang menyediakan penggunaan yang sama seperti tatasusunan, dan juga merangkum beberapa kaedah tambahan🎜. Tukar kepada tatasusunan3 | semua | semua Data | 4 | cantum | Gabung data lain | 5 | berbeza | Bandingkan tatasusunan dan pulangkan perbezaan | | | Bertukar kunci dan nilai dalam data | 7 | bersilang | Bandingkan tatasusunan dan kembalikan persimpangan | 8 | kunci | Kembalikan semua nama kunci dalam data | | pop | Padam elemen terakhir dalam data | 10 | shift | Padam elemen pertama dalam data | 11 | Unshift | Sert elemen pada permulaan data | 12 | push | insert elemen pada akhir | 13 | reduce | Bly menggunakan fungsi penyesuaian pengguna, pulih sebagai Tatasusunan rentetan | 14 | terbalik | Data disusun semula dalam susunan terbalik | 15 | ketulan | Data dipisahkan kepada berbilang blok data | setiap | Lakukan panggilan balik untuk setiap elemen data | | 17 penapis | Gunakan fungsi panggil balik untuk menapis elemen dalam data | | 18 lajur | semula lajur | 🜎 yang ditentukan | isih Isih data | | 20 | pesanan Nyatakan pengisihan medan | Kocok data se fungsi panggil balik untuk memproses Elemen tatasusunan dalam | | 24 | di mana | Tapis elemen dalam tatasusunan berdasarkan keadaan medan | 25 | di manaSuka | Suka elemen penapis pertanyaan | 26 Tidak suka elemen | 26 Tidak Suka | | 27 | whereIn | IN pertanyaan dan tapis elemen dalam tatasusunan | 28 | whereNotIn | Not IN pertanyaan dan tapis unsur-unsur dalam tatasusunan | 29 | di mana | tapis Between elemen dalam tatasusunan | 30 | whereNotBetween | Not Between query menapis elemen dalam array | rrreee Persediaan: Lakukan pertanyaan set data dalam model, dan semua objek set data akan dikembalikan, tetapi kaedah yang digunakan ialah thinkmodelCollection类 (diwarisi daripada thinkCollection), tetapi penggunaannya adalah konsisten. |
|
|