sql >> Base de Datos >  >> RDS >> Mysql

Laravel Eloquent encuentra el retorno nulo

Esto se debe a que PHP considera los números que comienzan con 0 como un octal, según:http://php.net/manual/en/language.types.integer.php

Parece que PHP convierte el número a un decimal antes de ejecutar la consulta de MySQL, lo que significa que la consulta se formó con un número incorrecto.

Por ejemplo:

Support::find(02155);

Se convierte en:

'SELECT * FROM mytable WHERE id = 1133'

La solución

Resolví esto encasillando el número a un número entero usando (int) antes de usarlo con el método de búsqueda de Eloquents. También funcionará si pasa el número como una cadena (es decir, entre comillas), así:

Support::find('02155');