訪問多個遠程模型我有三個型號在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
所以,你想要拍一張照片,然後是每張臉的人名? –