如何操纵laravel对象
问题描述:
我有一个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很新。
答
你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
一旦你能做到这一点,下一步就是通过雄辩来理解急切的负载。
PHP也是新手,我不太确定PHP如何处理这个 – Leon