(Это о Laravel 5.8)
Я знаю, что вы можете создавать пользовательские функции в вашей модели, но я не могу понять, как создать пользовательскую функцию, которая использует данные из функции morphMany.
Что работает:
model.php:
public function images()
{
return $this->morphMany('App\Image', 'owner');
}
page.blade.php:
@foreach($model->images() as $image)
{{ $image->url }}
@endforeach
Это работает.Но я хочу создать функцию, которая, например, только возвращает плакат.Но когда я помещаю этот foreach в функцию внутри моей модели.Это не будет цикл через изображения.См. Следующий код:
Что не работает:
model.php:
public function images()
{
return $this->morphMany('App\Image', 'owner');
}
public function poster()
{
$images = $this->morphMany('App\Image', 'owner');
foreach($images as $image)
{
/* THIS CODE WILL NEVER RUN SOMEHOW */
if ($image->type == "poster")
{
return $image;
}
}
return NULL;
}
Код просто возвращает NULL, что мне не хватает?