Laravel 모델은 때때로 Carbon 객체를 변환하고 Carbon\Carbon 유형의 객체를 배열 오류로 사용할 수 없습니다.
P粉125450549
P粉125450549 2023-08-30 13:56:16
0
1
502
<p>이전 코드베이스에서 시간대 변환을 수행하기 위해 문자열 조작을 수행하고 있습니다. </p> <p>날짜와 시간 사이에 <code>T</code>를 넣어야 합니다. 이를 위해 다음 논리를 사용하고 있습니다. </p> <pre class="brush:php;toolbar:false;">$check_in= $model->checkin_date_time; // 2022-12-12 22:22:22 $check_in[10] = 'T'; // 2022-12-12T22:22:22</pre> <p>뭔가 이상한 이유로 이 오류가 발생합니다. </p> <pre class="brush:php;toolbar:false;">CarbonCarbon 유형의 객체를 배열로 사용할 수 없습니다</pre> <p>그러나 항상 그런 것은 아닙니다. 2000~3000개의 요청당 오류가 1~2개만 발생합니다. </p> <p>저는 다른 곳에서(동일한 함수의 다른 부분에서도) Carbon을 사용하고 있지만 <code>checkin_date_time</code> </p> <p><code>$model->checkin_date_time</code>이 Carbon 객체로 변환되는 이유를 잘 모르겠습니다. </p>
P粉125450549
P粉125450549

모든 응답(1)
P粉011684326

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

다른 형식으로 출력하려면 ->format() 방법을 사용하세요:

으아악

어쨌든 오프셋($check_in[10] = 구문)을 사용하여 문자열의 문자를 수정하는 것은 정말 나쁜 생각이며 이러한 미세 최적화는 그만한 가치가 없습니다.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿