У меня есть две модели Транспортных средств и изображения, автомобиль hasMany изображенияПолучите значение от одного до многих отношений. Laravel
public function images(){
return $this->hasMany('App\Image');
}
Изображение belongsTo автомобиль:
public function vehicle(){
return $this->belongsTo('App\vehicle');
}
Я извлеченный транспортные средства, как: В контроллере:
$ads=ads::orderBy('views','desc')->get();
foreach ($ads as $ad) {
$popularvehicles[]=vehicles::where('id',$ad->Vehicleid)->get()->toArray();
}
Вид:
@foreach($popularvehicles as $popularvehicle)
@foreach($popularvehicle as $vehicle)
{{$vehicle['vname']}}
@endforeach
@endforeach
Теперь я хочу получить изображение, принадлежащее $ vehicle. Я пробовал следующий синтаксис:
@foreach($popularvehicles as $popularvehicle)
@foreach($popularvehicle as $vehicle)
@foreach($vehicle->image as $image)
<a href="page-product-details.html">
<img src="{{ asset("images/$image->title") }}" alt="{{ $image->title }}" >
</a>
@endforeach
@endforeach
@endforeach
Но это бросает исключение из: Попытка получить свойство не-объекта. Что я могу сделать, чтобы все исправить?
взглянуть на это. https://laracasts.com/discuss/channels/requests/laravel-issue-in-getting-the-value-of-one-to-many-relationship –
$ popularvehicles [] = транспортные средства :: где ('id' , $ Ad-> Vehicleid) -> с ('изображений') -> получить() -> ToArray(); –
Попробуйте $ vehicle-> images as $ image? – LordMarty