2013-08-22 22 views
14

Aşağıdaki kodu verilen:Karbon nesne türüne nasıl erişilir?

$recordSets = Model::find(1)->get(); 

foreach ($recordSets as $recordSet) { 
    dd($recordSet['created_at']); 
} 

ben bu sonucu aldık.

object(Carbon\Carbon)[292] 
    public 'date' => string '2013-08-21 17:05:19' (length=19) 
    public 'timezone_type' => int 3 
    public 'timezone' => string 'UTC' (length=3) 

Ben

echo $recordSet['created_at']->date; 

kullanarak 'tarih' erişmeye çalıştı Ama bir hata var:

Unknown getter 'date'

Nasıl $recordSet['created_at'] erişilir? Sadece tarih/zaman amacının formatlanması içindir.

cevap

5

Yalnızca $recordSet['created_at'] kullanın.

Karbon'daki bir __toString yöntemi nedeniyle, $recordSet['created_at'] oku her zaman tarihi dize biçiminde döndürür.

kullandığınız hangi yöntem görmek istiyorsanız

, vendor/nesbot/carbon/Carbon/Carbon.php

+0

Karbonun ardındaki yöntemi açıklıyorsunuz, ancak sorunun çözümünü değil. $ RecordSet ['created_at'] çağırırken, korunan karbon nesneleri içeren bir nesne alır. Lütfen referans: http://laravel.io/forum/03-06-2014-how-to-get-timestamp-integer-instead-of-carbon-object – tfont

+1

Bu yanlıştır ve kabul edilmemelidir. $ recordSet ['created_at'], Karbon Nesne bir dize döndürmez. Şerif'in cevabı doğru olanı. –

23

toplu fonksiyon toDateTimeString()

echo $recordSet['created_at']->toDateTimeString(); 
+1

Hata: Nesne dışı bir – malhal

+0

üye değerine toDateTimeString() üye işlevini deneyin $ recordSet-> toDateTimeString(); Ardından, $ recordSet ['created_at'] – Gokigooooks

4
public function getDates() { 
     return array(); 
    } 

yerleştirin Modelinizdeki bu kod kullanmalıdır görüyoruz. Bu, tarih mutasyonlarını devre dışı bırakır.

+0

Doğru çözümü BURADA doğrulanmış veriyi alın. – tfont

İlgili konular