#laravel #rest #api #nested
#laravel #rest #API #вложенный
Вопрос:
Я пишу rest API в Laravel. Все в порядке, когда параметры запроса не являются вложенными. Я могу получить любые входные параметры с помощью ->
. например
$model->update([
'column' => $request->value,
]);
Однако, если я хотел бы, чтобы параметры имели вложенную структуру, каков способ их получения? $request->value->nested_value
не работает, поскольку value
не является объектом.
Пример параметров вложенного запроса:
{
"parameters": {
"name": "game9",
"images": {
"icon_id": 1,
"banner_id": 1,
}
}
}
Комментарии:
1. Пожалуйста, поделитесь примером вашего запроса
Ответ №1:
Когда вы получаете значения из запроса, они не являются objects
. Они есть arrays
.
Вам нужно получить к ним доступ следующим образом:
$request->value['nested_value']
Комментарии:
1. Вы правы, но проблема в том, что значение в запросе не требуется, и если пользователь не установил значение, возникает ошибка с указанием неопределенного индекса ‘nested_value’. Есть ли другой способ преодолеть такую проблему?
2. @MohammadrezaSahelgozin Вы должны добавить проверку запроса, прежде чем использовать данные, laravel.com/docs/5.8/validation по этой ссылке показано, как вы можете этого добиться.