( ! ) Warning: Illegal offset type in UserController.php on line 56
Эта ошибка возникает во время перебора массива foreach ($validation->getMessages() as $message)
а конкретно ее причина $message->getMessage()
$response += [
$message->getField() =>
$message->getMessage()
];
var_dump($message->getMessage())
string 'Имя персонажа занято другим игроком' (length=66)
Весь код:
public function register()
{
$user = new User();
$response = [];
$data = $this->request->getJsonRawBody();
$data = json_decode(json_encode($data), True);
if ($data == true) {
$validation = $user->validateRegistrationData($data);
if (!count($validation->getMessages())) {
$user->register($data);
return $this->createOkResponse();
} else {
foreach ($validation->getMessages() as $message) {
$response += [
$message->getField() =>
$message->getMessage()
];
}
return $this->createArrayResponse($response, 'errors');
}
}else {
throw new \Exception('No post-data provided',ErrorCodes::POST_DATA_NOT_PROVIDED);
}
}
Целый день крутил вертел, но так и не смог решить проблему. Ценным будет любой ваш совет.
А что вы хотите достичь кодом?
$a=[];
$a+=[''];
Я не знаю где вы могли видеть такую конструкцию, но если вы хотите добавить в массив элемент на php то это делается несколько иным способом
$a=[];
$a[]=[''];
В крайнем случае
$a[$b]=[''];
Виртуальный выделенный сервер (VDS) становится отличным выбором
Как сделать подключение string к FindWindowA string WindowNames; string ClassNames;?