2016-01-29 118 views
0

我有一個laravel查詢如下的一個:如何操縱laravel對象

$campaign = Campaign::with(array('tracks.flights' => function($q) use ($dates) 
      { 
       $q->whereRaw("flights.start_date BETWEEN '". $dates['start']."' AND '".$dates['end']."'")->orderBy('start_date') 
       ->with('asset') 
       ->with('comments'); 
      } 
     )) 
     ->with('tracks.group') 
     ->with('tracks.media') 
     ->orderBy('created_at', 'desc') 
     ->find($id); 

我很新的laravel而現在該查詢的響應返回的所有數據需要包括與評論來自DB的註釋屬性。

我想要實現的是操縱註釋對象,因此它包含users表中的用戶名,因爲註釋表僅具有user_id作爲屬性。

我該如何做到這一點?我對laravel很新。

+0

PHP也是新手,我不太確定PHP如何處理這個 – Leon

回答

2

Comment模型必須與User模型的關係,如:現在,當你迭代的評論,你能夠做$comment->user->name或在您的情況下,它會是這樣的

public function user() 
{ 
    return $this->belongsTo('App\User'); 
} 

@if(!$campaign->tracks->flights->isEmpty()) 
    @foreach($campaign->tracks->flights as $flight) 
     @if(!$flight->comments->isEmpty()) 
      @foreach($flight->comments as $comment) 
       {!! $comment->user->name !!} 
      @endforeach 
     @endif 
    @endforeach 
@endif 

一旦你能做到這一點,下一步就是通過雄辯來理解急切的負載。