访问多个远程模型我有三个型号在Laravel 5.4 - 更新
Photo
-id
-path_full
Person
-id
-name
Face
-id
-person_id //was people_id
-photo_id
我想从照片模式访问的人的名字。
面模型:
public function photo()
{
return $this->belongsTo(Photo::class);
}
public function person()
{
return $this->belongsTo(Person::class);
}
照片型号:
public function faces()
{
return $this->hasMany(Face::class);
}
角色模型:
public function faces()
{
return $this->hasMany(Face::class);
}
在我控制我加载照片是这样的:
$photos = Photo::with('faces')->paginate();
在我的刀片模板中,我想访问照片中的人脸名称。 我明白了这一点。
这是在foreach因此奇异$照片:
{{implode($photo->faces->pluck('people_id')->toArray(),', ')}}
我怎样才能得到,而不是人的名字?
解决方案
我需要这在我看来并注意我改变了分贝PERSON_ID如此雄辩可以做它的魔力。
//Controller:
$photos = Photo::with('faces.person')->paginate();
//View:
@foreach($photo->faces as $face)
{{$face->person['name']}}
@endforeach
这不是一个多对多的关系吗? –
脸部是特定照片中的独特脸部,因此它总是属于单张照片。这从面部识别。一个人在许多照片中可以有许多面孔。一张脸只能属于一个人。 – BobB
所以,你想要拍一张照片,然后是每张脸的人名? –