Używam laravel 5.1Konwersja String do węgla
Kilka dni temu użyłem protected $dates = ['license_expire']
w moim modelu przekonwertować datę ciąg do instancji węgla. W HTML wartość domyślna w tworzenie forma na dzień było Carbon\Carbon::now()->format('Y-m-d')
w celu pokazania alert na stronie głównej użyłem <p>Licence Expired: <b>{{ $employee->license_expire < Carbon\Carbon::now()?'License has expired':$employee->license_expire->diffForHumans() }}</b></p>
dotychczas diffForHumans() metoda działa dobrze.
Ale w tym przypadku wartość domyślna formularza edycji również była dzisiejszą datą bez względu na to, co było w bazie danych (używam formy częściowej). Aby rozwiązać ten problem, zmieniłem wartość domyślną w HTML na NUll. I dodaj inną metodę w moim modelu, aby pokazać aktualną datę w formularzu tworzenia.
public function getLicenseExpireAttribute($date)
{
return Carbon::parse($date)->format('Y-m-d');
}
Po tym, kiedy idę do strony głównej mam FatalErrorException
który mówi Call to a member function diffForHumans() on string
Kiedy sprawdzić datę z dd($employee->license_expire)
ponownie stać STRING.
Czy ktoś może mi powiedzieć, w jaki sposób mogę przekonwertować strunę na węgiel w tej sytuacji?
lub
Make My utworzyć domyślną datę forma jako datą dzisiejszą datą w edycji formularza jest z bazą danych i mogę używać diffForHumans(), aby wyświetlić alert na stronie głównej?
tak! pomogło. Zrobiłem dokładnie to, co powiedziałeś. działa idealnie, jak chcę. – smartrahat