Laravel DB Builder использует строковую переменную в качестве целочисленного идентификатора - PullRequest
0 голосов
/ 03 декабря 2018

Один из моих контроллеров принимает поле id как $id, и я использую его в запросе.Когда я проверяю строку запроса, она передает идентификатор в виде строкового значения следующим образом:

select `id`, `name` from `table` where `id` = '1'

Если я передаю intval($id) запросу, он все равно работает как ожидалось.

select `id`, `name` from `table` where `id` = 1

Мой вопрос: какой из них оптимизированный запрос и лучшая практика?Спасибо.

1 Ответ

0 голосов
/ 03 декабря 2018

Прежде всего : (int) быстрее intval().Ссылка: wiki.phpbb.com / Best_Practices: PHP . О числах кавычек или нет : На практике, если вы не выполняете операцию размером с Google, такие затраты на конверсию будут микроскопически малы.Ссылка: stackoverflow.com / Вопросы / 6781976

...