Eloquent - вставка связанных моделей - PullRequest
0 голосов
/ 20 марта 2020

В этом вопросе принятым ответом на сохранение связанных моделей было:

public function store(Request $request)
{
    $player->name = $request->input('name');
    $player->lastname = $request->input('lastname');
    $player->stats = [
      'position' => $request->input('stats.position'),
      'profile' => $request->input('stats.profile'),
    ];
    $player->save();
    return response()->json($player);
}

Всякий раз, когда я пытаюсь это сделать, я получаю сообщение об ошибке:

Столбец не найдено: 1054 Неизвестный столбец 'stats' в 'списке полей'

Если я добавлю статистику в защищенную коллекцию, она, конечно, никогда не появится.

На моем объекте игрока у меня есть this:

public function stats(): HasMany
{
    return $this->hasMany(Stat::class);
}

Итак, как мне получить статистику, но не пытаться использовать «stats» в качестве имени столбца во вставке?

1 Ответ

0 голосов
/ 20 марта 2020

Используя метод save(), вы можете создать новый объект Player и сохранить его, а затем создать новый объект Stat и сохранить его как Player связанный stats():

$player = new Player
$player->name = $request->input('name');
$player->lastname = $request->input('lastname');
$player->save();

$stat = new Stat([
    'position' => $request->input('stats.position'),
    'profile' => $request->input('stats.profile'),
]);
$player->stats()->save($stat);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...