Почему «institutionId» в моем старом ответе API представляет собой строку, а в новой версии после обновления PHP, Yii и Php

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Почему «institutionId» в моем старом ответе API представляет собой строку, а в новой версии после обновления PHP, Yii и

Сообщение Anonymous »

Недавно я обновил стек своего приложения и заметил изменения в ответах API. Ниже приведены подробности изменений версии:

Код: Выделить всё

Component   Old Version New Version
PHP          7.3.0      8.3.0
Yii          2.0.6      2.0.51
MariaDB      10.1.34    11.6.2
В старой версии мой ответ API для идентификатора учреждения выглядел так:

{
"statusCode": 200,
"message": "",
"data": {
"institutionId": "66"
}
После обновления идентификатор учреждения изменился на целое число:

{
"statusCode": 200,
"message": "",
"data": {
"institutionId": 66
}

Вызов API идет чтобы

Код: Выделить всё

public function actionGetInstitutionDetails()
{
$request = Yii::$app->request;
$user = $request->get('userId');
$institutionId = $request->get('institutionId');
$userId =  $user ? $user : yii::$app->user->identity->id;
if ($userId && $institutionId) {

$institutionDetails = ExtendedInstitution::getInstitutionData($institutionId);
$resultSet = [];
$result = new \stdClass();
if ($institutionDetails) {
foreach ($institutionDetails as $key => $value) {
$data = new \stdClass();
$data->institutionId = (!empty($value['id'])) ? $value['id'] : '';
$data->institutionName = (!empty($value['name'])) ? $value['name'] : '';
$data->phoneNumber2 = (!empty($value['phone2'])) ? $value['phone2'] : 'Not available';
$data->email = (!empty($value['email'])) ? $value['email'] : '';
$data->website = (!empty($value['url'])) ? $value['url'] : '';
}
$this->statusCode = 200;
$this->message = '';
$this->data = $data;
return new ApiResponse($this->statusCode, $this->data,$this->message);
}
}
}
И getInstitutionData вызывает хранимую процедуру, определенную ниже:

Код: Выделить всё

CREATE DEFINER=`root`@`%` PROCEDURE `get_institution`(institutionid int)
BEGIN
SELECT
i.id,
i.`name`,
i.pin,
i.institutionlogo,
i.email,
i.url,
i.moreurl,
i.institutiontype AS 'institutiontypeid',
FROM
institution i
WHERE
i.id = institutionid;
END
Какие могут быть возможные причины этого? и как это исправить глобально в моем перенесенном проекте?

Подробнее здесь: https://stackoverflow.com/questions/793 ... in-the-new
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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