Я использую $hidden
и $appends
, чтобы скрыть ключевое слово pivot
из массива json и вытянуть объекты в основной массив. В игровой модели я добавил ниже скрипт для выполнения функциональности, как я сказал выше
protected $hidden = ['pivot'];
protected $appends = ['user_id','highscore', 'level'];
public function getUserIdAttribute()
{
return $this->pivot->user_id;
}
public function getHighScoreAttribute()
{
return $this->pivot->highscore;
}
public function getLevelAttribute()
{
return $this->pivot->level;
}
Теперь проблема в том, что я хочу получить все игры, и я знаю, что это так просто, я просто добавил в контроллер ниже скрипт
$Games = Game::all();
return new GameResource($Games); /* GameResource is for API */
Но это возвращаемая следующая ошибка после добавления вышеуказанного скрипта в модель.
ErrorException: Trying to get property user_id of non-object
Любой может подсказать мне, как управлять обоими функциями, потому что мне нужны оба. Буду признателен, если кто-то любезно проведет.
После @emix Комментарий
@ emix, он не дублируется, потому что речь идет о ядре php, и я использую laravel. Конечно же, laravel построен на php, но все же есть сложная структура, поэтому я думаю, что эта не такая, как вы упоминали