2017-07-15 2 views
0

Inside my Klinge bearbeitet Form ist, ich habe dies:Kohlenstoff aktuelles Datum, wenn Variable null

<input type="text" name="birth" class="form-control" id="birth" value="{{ \Carbon\Carbon::parse($associado->birth)->format('d/m/Y') }}"> 

Das Problem ist: Wenn $associado->birth in der Datenbank NULL ist, Kohlenstoff aktuelles Datum zurückkehrt.

Was kann ich tun, um das zu vermeiden?

+1

Ist '$ associado' ein beredtes Modell? –

Antwort

1

Sie müssten prüfen, ob der Wert null ist.

Darüber hinaus könnten Sie birth zu der Array-Eigenschaft $dates in Ihrem beredten Modell hinzufügen.

protected $dates = [ 
    'dates' 
]; 

Dies wird das eloquent Modell sagen, diese Spalte zu einer Carbon Instanz zu werfen, wie es für created_at und updated_at tut. Wenn die Spalte if null es einfach Null zurückgibt.

Ihr Code würde dann in etwa so aussehen:

{{ $associado->birth ? $associado->birth->format('d/m/Y') : null }} 

hoffe, das hilft!

0

Überprüfen Sie, ob $associado->birth NULL ist, bevor Sie es mit Carbon analysieren.

Wenn es einen wahren Wert hat, ist es nicht NULL und Sie können es analysieren - andernfalls geben Sie einfach null in Ihrem Wert zurück.

Hier ist ein Beispiel des ternären Operator

value="{{ $associado->birth ? \Carbon\Carbon::parse($associado->birth)->format('d/m/Y') : null}} 

Dann wieder, wenn diese viel Logik verwendet wird, sollte es in seine eigene Funktion gesetzt werden.

0

Sie können es mit createFromFormat() von Carbon tun.

value = "{{$associado->birth ? \Carbon\Carbon::createFromFormat('d\m\Y', 
      $associado->birth)->toDateString() : null}}" 

Dies wird String-Wert von Datum in der Datenbank gespeichert überprüfen und im Fall von Null Wert leer geben.

Ich hoffe, Sie verstehen.