
[英]Laravel Call to undefined method HasMany::mapInto() when requesting data
[英]Laravel call to undefined method App\Seo::mapInto()
当我尝试使用它返回的资源获取我的产品 SEO 数据时
Call to undefined method App\Seo::mapInto()
seo model
public function seoable()
{
return $this->morphTo();
}
product model
public function seo()
{
return $this->morphOne(Seo::class, 'seoable');
}
product resource
'seo' => SeoResource::collection($this->whenLoaded('seo')),
我最好的猜测是导致此错误的SeoResource
的collection
,但不确定是否应该将其更改为?
任何的想法?
问题是您使用了SeoResource::collection($this->whenLoaded('seo'))
但您只有一个元素而不是一个集合。
因此,您可以像这样用new SeoResource($this->whenLoaded('seo'))
替换它:
代替:
'seo' => SeoResource::collection($this->whenLoaded('seo')),
和:
'seo' => new SeoResource($this->whenLoaded('seo')),
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.