Pertanyaan Masa (Pembina Pertanyaan 8)
Perbandingan masa
Rangka kerja mempunyai kaedah pertanyaan masa yang biasa digunakan terbina dalam, dan boleh mengenal pasti jenis medan masa secara automatik, jadi tidak kira jenis medan masa yang digunakan, penggunaan pertanyaan masa dalam bab ini boleh digunakan secara seragam.
Gunakan kaedah whereTime
whereTime menyediakan pertanyaan pantas medan tarikh dan masa, contohnya adalah seperti berikut:
// 大于某个时间 Db::name('user') ->whereTime('birthday', '>=', '1970-10-1') ->select(); // 小于某个时间 Db::name('user') ->whereTime('birthday', '<', '2000-10-1') ->select(); // 时间区间查询 Db::name('user') ->whereTime('birthday', 'between', ['1970-10-1', '2000-10-1']) ->select(); // 不在某个时间区间 Db::name('user') ->whereTime('birthday', 'not between', ['1970-10-1', '2000-10-1']) ->select();
Anda juga boleh menggunakan ungkapan masa berikut untuk pertanyaan masa
rreeeSoal selang masa tertentu
Untuk pertanyaan selang masa, sistem juga menyediakan kaedah pintasan whereBetweenTime/whereNotBetweenTime.
// 查询两个小时内的博客 Db::name('blog') ->whereTime('create_time','-2 hours') ->select();
Soal tahun tertentu
Soal pengguna yang mendaftar tahun ini
// 查询2017年上半年注册的用户 Db::name('user') ->whereBetweenTime('create_time', '2017-01-01', '2017-06-30') ->select(); // 查询不是2017年上半年注册的用户 Db::name('user') ->whereNotBetweenTime('create_time', '2017-01-01', '2017-06-30') ->select();
Soal pengguna yang didaftarkan tahun lepas
Db::name('user') ->whereYear('create_time') ->select();
Soal penggunaan data tahun tertentu
Db::name('user') ->whereYear('create_time', 'last year') ->select();
Soal bulan
// 查询2018年注册的用户 Db::name('user') ->whereYear('create_time', '2018') ->select();e Query pengguna yang didaftarkan pada bulan lalu
Db::name('user') ->whereMonth('create_time') ->select();e qquery pengguna yang didaftarkan pada bulan Jun 2018
Db::name('user') ->whereMonth('create_time','last month') ->select();e
query minggu tertentu
Queryery data minggu ini
Db::name('user') ->whereMonth('create_time', '2018-06') ->select();e
query data minggu lalu. data bermula dari hari yang ditentukan Data mingguan
Db::name('user') ->whereWeek('create_time') ->select();Soal hari tertentu
Soal pengguna yang didaftarkan pada hari itu
Db::name('user') ->whereWeek('create_time', 'last week') ->select();
Soal pengguna yang mendaftar semalam
// 查询2019-1-1到2019-1-7的注册用户 Db::name('user') ->whereWeek('create_time', '2019-1-1') ->select();
Soal data hari tertentu menggunakan
Perbandingan selang medan masaboleh menyokong Perbandingan selang dua medan masa
Db::name('user') ->whereDay('create_time') ->select();
Pertanyaan di atas adalah bersamaan dengan
Db::name('user') ->whereDay('create_time', 'yesterday') ->select();
Peraturan pertanyaan masa tersuai
Anda boleh menambah peraturan pertanyaan masa tersuai dengan menetapkan fail konfigurasi_pertanyaan_masa
dalam fail konfigurasi pangkalan data// 查询2018年6月1日注册的用户 Db::name('user') ->whereDay('create_time', '2018-06-01') ->select();