sql >> Databasteknik >  >> RDS >> Mysql

Laravel vältalig hitta returnerar null

Detta beror på att tal som börjar med 0 anses vara oktala av PHP, enligt:​​http://php.net/manual/en/language.types.integer.php

Det verkar som att PHP konverterar numret till en decimal innan MySQL-frågan körs, vilket betyder att frågan skapas med ett felaktigt tal.

Till exempel:

Support::find(02155);

Blir:

'SELECT * FROM mytable WHERE id = 1133'

Lösningen

Jag löste detta genom att typcasta talet till ett heltal med (int) innan jag använde det med Eloquents find-metod. Det fungerar också om du skickar numret som en sträng (dvs inom citattecken), som så:

Support::find('02155');


  1. ange nytt värde för ft_min_word_len FULLTEXT i mysql

  2. Går med i MySQL för att hämta data från flera tabeller

  3. Hur hämtar man en bild från en SQLite-databas?

  4. Vad är skillnaden mellan lagrade procedurer, funktioner och rutiner?