2016-04-08 15 views
0

Bir 'artist' tablosu ve bir 'performans' tablosum var. Performans tablosu, bir zaman damgası olan bir performans zaman alanına sahiptir.Daha fazla bilgi için laravel -> get() her sonuç için

benim sanatçılar veri döndürme, ben de performanslar almak için bir ilişki yapın:

$artists = Artist::with('performances', 'performances.stage')->get(); 

Şimdi ne ancak yapmak istediğim zaman gösterecek performansları ilişkiye bilgilerin başka bit ekleyin da performans zaman alanını kullanan performansa kadar.

Farklı bir biçimde başka bir alandaki saha verilerini kullanıyorum, bu yüzden bir mutator kullanmak istemiyorum.

Teşekkürler!

cevap

1

Yine de bir mutator kullanabilirsiniz. Performance modelinizin bir time alanına sahip olduğunu varsayalım. Eğer $performance->modified_time olarak erişmek istiyorum

public function getModifiedTimeAttribute() { 
    return $this->time . ' and something else!'; 
} 

. Varsayılan olarak, bu uydurma alan modelin laravel en dizi/JSON çıktıda yok, ancak burada gösterilir hale getirmek için modele bu ekleyebilirsiniz:

protected $appends = ['modified_time']; 
0

Bir dinamik Özellik kullanabilirsiniz böylece sevdiği Performance Modeli, içinde:

class Performance extends Model 
{ 
    [...] 

    public function getTimeToNextAttribute() 
    { 
     //calculate Time to next Performance and return it 
    } 
} 

ardından $ performansa> time_to_next aracılığıyla bu özelliği erişebilirsiniz.

İlgili konular