Doctrine json_array config неверный порядок в ключах - PullRequest
0 голосов
/ 25 мая 2018

У меня странная проблема с конфигурацией поля json_array.

Я настроил поле, предназначенное для хранения некоторой конфигурации.Он настроен так:

<field name="config" type="json_array" />

Например, у меня есть такой массив:

[
    'choices' => [
        'Other' => 'other',
        'Male' => 'male',
        'Female' => 'female'
    ]
]

Я устанавливаю свойство объекта:

$entity->setConfig($config);

И я сохраняю это в базе данных.В результате получается следующее:

"choices": {
    "Male": "male",
    "Other": "other", 
    "Female": "female"
}

Когда я выполняю json_encode для того же массива, порядок не изменяется, но каким-то образом Doctrine меняет порядок.Есть ли способ предотвратить это?

1 Ответ

0 голосов
/ 25 мая 2018

Использование одной из перечисленных версий предотвратит это поведение:

$v1 = [
    'choices' => [
        'Other',
        'Male',
        'Female'
    ]
];

$v2 = [
    'choices' => [
        ['label' => 'Other', 'value' => 'other'],
        ['label' => 'Male', 'value' => 'male'],
        ['label' => 'Female', 'value' => 'female']
    ]
];

Дополнительную информацию можно найти здесь Гарантирует ли JavaScript порядок свойств объекта?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...