【发布时间】:2019-03-06 16:44:56
【问题描述】:
(这是关于 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,我错过了什么?
【问题讨论】:
-
你忘了在foreach之后打开
{ -
@dparoli 哦,哎呀..我将编辑示例代码。那不是错误正在发生;)而是找到一个很好的工作:)
标签: php laravel laravel-5 eloquent