sql >> Database >  >> RDS >> Mysql

Laravel welsprekend vinden terugkerende null

Dit wordt veroorzaakt omdat getallen die beginnen met 0 door PHP als een octaal worden beschouwd, volgens:http://php.net/manual/en/language.types.integer.php

Het lijkt erop dat PHP het getal converteert naar een decimaal voordat de MySQL-query wordt uitgevoerd, wat betekent dat de query wordt gevormd met een onjuist getal.

Bijvoorbeeld:

Support::find(02155);

Wordt:

'SELECT * FROM mytable WHERE id = 1133'

De oplossing

Ik heb dit opgelost door het nummer naar een geheel getal te typen met (int) voordat ik het gebruikte met de methode Eloquents find. Het werkt ook als u het nummer als een tekenreeks (d.w.z. tussen aanhalingstekens) doorgeeft, zoals:

Support::find('02155');


  1. Waarom kan ik geen alias gebruiken in een DELETE-instructie?

  2. Geen toegang tot Sonar MySQL-database Veroorzaakt door:java.sql.SQLException:Toegang geweigerd voor gebruiker 'sonar'@'glassfishdev.ccs.local' (met wachtwoord:JA)

  3. Postgres-caches/buffers zien en wissen?

  4. Waarom de init_command set engine=INNODB van django DATABASE_OPTIONS verwijderen na het maken van een tabel?