Model Laravel kadangkala menukar objek Carbon dan tidak boleh menggunakan objek jenis Carbon\Carbon sebagai ralat tatasusunan
P粉125450549
P粉125450549 2023-08-30 13:56:16
0
1
503
<p>Saya sedang melakukan beberapa manipulasi rentetan untuk melakukan penukaran zon masa daripada pangkalan kod lama. </p> <p>Saya perlu meletakkan <kod>T</kod> antara tarikh dan masa, saya menggunakan logik berikut untuk melakukan ini. </p> <pre class="brush:php;toolbar:false;">$check_in= $model->checkin_date_time; // 2022-12-12 22:22:22 $check_in[10] = 'T'; // 12-2022T22:22:22</pre> <p>Atas sebab tertentu saya mendapat ralat ini. </p> <pre class="brush:php;toolbar:false;">Tidak boleh menggunakan objek jenis CarbonCarbon sebagai tatasusunan</pre> <p>Tetapi ini tidak selalu berlaku. Hanya 1-2 ralat setiap 2000 - 3000 permintaan. </p> <p>Saya menggunakan Karbon di tempat lain (walaupun di bahagian lain fungsi yang sama) tetapi tanpa sebarang penukaran sifat <kod>$model</kod> </p> <p>Saya tidak pasti mengapa <kod>$model->checkin_date_time</code> </p>
P粉125450549
P粉125450549

membalas semua(1)
P粉011684326

$model->checkin_date_time 不是 "2022-12-12 22:22:22" 它是一个 Carbon(DateTime 的子类)对象。当您尝试将其转换为字符串(使用 echo、任何类型的显示或将其注入另一个字符串中时,它会自动格式化为 Y-m-d h:i:s

Jika anda ingin mengeluarkan dalam format lain, sila gunakan kaedah ->format():

$check_in = $model->checkin_date_time->format('Y-m-d\Th:i:s');

Apa pun, menggunakan offset ($check_in[10] = sintaks) untuk mengubah suai huruf dalam rentetan adalah idea yang tidak baik dan pengoptimuman mikro ini tidak berbaloi.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan