Mysql
 sql >> база данни >  >> RDS >> Mysql

Laravel Eloquent намира връщане на нула

Това се дължи на факта, че числата, започващи с 0, се считат за осмични от PHP, съгласно:http://php.net/manual/en/language.types.integer.php

Изглежда, че PHP преобразува числото в десетичен знак, преди да изпълни MySQL заявката, което означава, че заявката е формирана с неправилно число.

Например:

Support::find(02155);

Става:

'SELECT * FROM mytable WHERE id = 1133'

Решението

Разреших това, като набрах числото до цяло число, използвайки (int), преди да го използвам с метода за намиране на Eloquents. Също така ще работи, ако предадете числото като низ (т.е. в кавички), така:

Support::find('02155');


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Отстраняване на неизправности Грешка с незаконен микс от съпоставяне в mysql

  2. Node.js ssh2 тунел поддържа жив и изпълнява mysql заявки

  3. Най-ефективният начин да направите SQL „INSERT IF NOT EXISTS“

  4. PHP извлича данни от реда на таблицата и съхранява в променлива

  5. Най-добра практика за съхранение на потребителски имена и пароли в MySQL бази данни