Сохранить новую строку в запросе Laravel - PullRequest
0 голосов
/ 30 июня 2018

Я использую Laravel для передачи JSON и сохранения запроса в модели JSON, который я передаю, имеет форму

{
    "key": "GEnFcIB5UBScbwrM9OfBqYzY0/8=\r\n",
} 

Но при сохранении его в БД ключ сохраняется как GEnFcIB5UBScbwrM9OfBqYzY0 / 8 =

Это то, что я получаю, когда выкидываю запрос

  Request {#42
      #json: ParameterBag {#24
        #parameters: array:1 [
          "key" => "GEnFcIB5UBScbwrM9OfBqYzY0/8="
          ]
      }

        ...

      #content: "{"key":"GEnFcIB5UBScbwrM9OfBqYzY0/8=\r\n"}",

        ...

    }

Как видите, #content показывает "\ r \ n", но ключ $ request-> отбрасывает его и в итоге не сохраняется в БД

Есть предложения?

1 Ответ

0 голосов
/ 30 июня 2018

Это вполне может быть связано с обрезкой.

https://laravel.com/docs/5.6/requests#input-trimming-and-normalization

По умолчанию Laravel включает промежуточное программное обеспечение TrimStrings и ConvertEmptyStringsToNull в глобальный стек промежуточного программного обеспечения вашего приложения. Эти промежуточные программы перечислены в стеке классом App \ Http \ Kernel. Это промежуточное ПО автоматически обрезает все входящие строковые поля в запросе, а также преобразует все пустые строковые поля в ноль. Это позволяет вам не беспокоиться об этих проблемах нормализации в ваших маршрутах и ​​контроллерах.

Если вы хотите отключить это поведение, вы можете удалить два промежуточного программного обеспечения из стека промежуточного программного обеспечения вашего приложения, удалив их из свойства $ middleware вашего класса App \ Http \ Kernel.

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