2017-12-04 16 views
2

그래서 현재 내가 다시 날짜를 끌어와 탄소에 읽을 수있는 형식으로 변환 :탄소 탄소 없습니다 - Laravel 5.5

</div> 
<div class=""> 
<label for="Name">Letter Sent:</label> 
@if (is_null($Client->letter_posted)) 
@else 
    {{ \carbon\carbon::createFromFormat('Y-m-d',$Client->letter_posted)->format('d/m/Y')}} 
@endif 
</div> 

을 그리고 (테스트를 테스트 할 때 그것은 작동 모두 널 (null)이 아닌 letter_posted입니다 동안) 그러나 아주 가끔 라이브 서버에 오류를 뱉어 :

Class 'carbon\carbon' not found 

그것은 매우 무작위로 지난 3 개월 동안 3 회 발생 만하고 페이지 새로 고침이 오류 등을 제거합니다. 페이지가 새로 고쳐지면 오류가 나타납니다. 더 이상 존재하지 않습니다.

도움을 주시면 감사하겠습니다.

답변

7

변경 코드 : 당신은 대소 문자를 구분 서버에서 시스템을 배포 할 때

{{ \Carbon\Carbon::createFromFormat('Y-m-d',$Client->letter_posted)->format('d/m/Y')}} 

발생합니다.

+0

분명히 그것이 문제라면 매번 오류가 날 것입니까? –

+2

컨트롤러로 논리를 이동하는 것이 더 좋으며,보기에서이를 수행하면 안됩니다. – Nartub

+0

예를 들어 Windows를 사용하여 개발 중이지만 Linux 컴퓨터에 앱을 배포하는 경우 이는 배포 할 때만 발생합니다. – Laerte

0

\carbon\carbon 대신 코드에 carbon\carbon을 사용하고 있기 때문에 오류가 발생했을 가능성이 큽니다.

\을 앞에 두는 것은 전역 이름 공간을 참조합니다. \이 없으면 존재하지 않을 수도있는 클래스를 나타냅니다 (오류가 발생 함).

은 참조 : Class 'App\Carbon\Carbon' not found Laravel 5


당신은 Laravel에서 전체 이름을 사용하지 않도록 별칭을 만들 수 있습니다. app.php에서 별칭으로 이동하여 'Carbon' => 'Carbon\Carbon'을 추가하십시오. 당신은 다음과 같이 사용할 수 있습니다 : {{ Carbon::createFromFormat('Y-m-d', $Client->letter_posted)->format('d/m/Y') }}


추가 참고 : PHP 네임 스페이스는 대소 문자를 구분하지 않습니다 동안, 그것은 그들을 치료하는 좋은 방법은 대소 문자를 구분 : \Carbon\Carbon 대신 \carbon\carbon를 사용합니다.