Laravel вызов неопределенного метода App \ Seo :: mapInto () - PullRequest
1 голос
/ 28 января 2020

Когда я пытаюсь получить 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')),

Мое лучшее предположение - collection в SeoResource, вызывающее эту ошибку, но не уверен, если это то, что я должен изменить на?

есть идеи?

1 Ответ

2 голосов
/ 28 января 2020

Проблема в том, что вы используете SeoResource::collection($this->whenLoaded('seo')), но у вас есть только один элемент, а не коллекция.

Следовательно, вы можете заменить его на new SeoResource($this->whenLoaded('seo')) следующим образом:

Заменить:

'seo' => SeoResource::collection($this->whenLoaded('seo')),

на:

'seo' => new SeoResource($this->whenLoaded('seo')),
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...