Не могу вернуть многоуровневые ресурсы/коллекцию через APIPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Не могу вернуть многоуровневые ресурсы/коллекцию через API

Сообщение Anonymous »

Вопрос:
Как вернуть значения ресурса через другой ресурс? -> 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»