Bagaimana untuk menyemak sama ada tarikh adalah pada masa hadapan, untuk lajur tarikh dan masa yang berasingan?
P粉021854777
P粉021854777 2023-07-31 19:18:47
0
1
508
<p>Saya mempunyai dua lajur untuk menyimpan tarikh: satu ialah tarikh itu sendiri dalam format YYYY-mm-dd, dan satu lagi ialah jenis data masa dalam masa(7), cth. 11:15:10.0000000. <br /><br />Bagaimanakah saya hendak menyemak baris masa hadapan? <br /><br />Saya boleh mendapatkan bahagian pertama, tarikh itu sendiri: </p><p><br /></p> <pre class="brush:php;toolbar:false;">MyModel::where('date', '>=', Carbon::today())->get()</pre> <p>Tetapi apabila saya cuba menambah masa, ia tidak berfungsi: </p> <pre class="brush:php;toolbar:false;">MyModel::where('date', '>=', Carbon::today())->where('time', '> ;', Carbon::now()->format('H:i'))->get()</pre> <p>Oleh kerana ia berasingan, walaupun tarikhnya pada masa hadapan, masa adalah berasingan, jadi mungkin terdapat ketidakpadanan masa. Jadi saya perlu menggabungkan tarikh dan masa yang dikaitkan dengannya bersama-sama, bukan secara berasingan. </p>
P粉021854777
P粉021854777

membalas semua(1)
P粉651109397

Cuba gabungkan dua lajur menjadi satu syarat.

$now = Carbon::now();

MyModel::whereRaw("CONCAT(`date`, ' ', `time`) >= ?", [$now->toDateTimeString()])->get();

Untuk SQL Server, cuba yang berikut.

MyModel::whereRaw("CONVERT(datetime, date + ' ' + CONVERT(varchar, time, 121)) >= ?", [$now->toDateTimeString()])->get();

Transformasi pertanyaan mungkin perlu dikemas kini, sila semak dokumentasi untuk mendapatkan maklumat lanjut.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!