Как вернуть значения ресурса через другой ресурс? -> hasmany (nothermodel :: class, 'pivottable') < /code>
? < /p>
Например: < /p>
есть таблица называется «теги», а другая таблица под названием «Tagtranslations» < /p>
«тег» имеет только идентификатор и временные метки
«tagtranslations» имеет id, tag_id, title, slug и timestamps < /p>
Существуют Tagresource и TagtranslationResource < /p>
В TagtranslationResource я возвращаю «toarray» < /p>
Код: Выделить всё
public function toArray($request)
{
return parent::toArray($request);
}
}
< /code>
и в Tagresource я возвращаю < /p>
return
[
'id' => $this->id,
'title' => TagTranslationResource::collection($this->title),
'slug' => TagTranslationResource::collection($this->slug)
];
< /code>
и в контроллере я вызываю тег обратно с Tagtranslations < /p>
public function index(Request $request)
{
$tags = Tag::with('tagtranslation')->get();
//return $tags;
return TagResource::collection($tags);
}
< /code>
Когда, в Tagresource я звоню, например, < /p>
return [
'title' => new TagResource($this->title),
'slug' => new TagResource($this->slug)
]
< /code>
Я получаю только нулевые поля в моем ответе JSON API < /p>
и ответ, который я получаю для < /p>
'title' => TagTranslationResource::collection($this->title)- это ошибка "Call to Member Function First () на null"
может кто -нибудь объяснить, что здесь происходит? : D
Я также попробовал с
Код: Выделить всё
TagResource::collection(TagTranslation::all())->$this->titleНо он не может конвертировать в string
Подробнее здесь: https://stackoverflow.com/questions/747 ... hrough-api
Мобильная версия