В чем разница между кодируемыми данными JSON или нет? - PullRequest
0 голосов
/ 08 июня 2019

Какова цель (а не то, что становится), чтобы сделать json_encode на этом, прежде чем я положу в базу данных

rating: {cleanliness: 3, publicFacility: 1, roomFacility: 2, security: 2}

чтобы стать этим

rating: "{"cleanliness":3,"publicFacility":1,"roomFacility":2,"security":2}"

Я не вижу смысла делать это, потому что мне нужно json_decode повторить это, прежде чем вернуть его ... кто-нибудь может убрать меня?

1 Ответ

0 голосов
/ 08 июня 2019

Не хранить данные в формате json в базе данных.Таким образом вы смягчаете всю суть реляционной базы данных и делаете поиск значений дорогостоящей задачей.Я вижу в вашем образце атрибуты чистоты, publicFacility, roomFacility и безопасности.Это должны быть столбцы в вашей базе данных, чтобы вы могли искать что-то вроде «все записи с чистотой выше 3».Он работает с типом столбца JSON, но стоит дороже, чем обычные столбцы.

Редактировать : проверьте вариант использования для своей записи в базе данных.Если вы уверены, что вам не нужно искать или упорядочивать по закодированным атрибутам, вы можете хранить данные, закодированные в виде строки json.Однако, если ваша база данных поддерживает тип столбца JSON, вы должны использовать этот тип, потому что он позволяет выполнять поиск в сохраненном JSON (но это обходится дороже, чем поиск в обычных столбцах).

Второй пункт: второй фрагмент кода (с кавычками) выглядит как недопустимый синтаксис для json.

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