Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Laravel Eloquent menemukan pengembalian null

Hal ini disebabkan karena angka yang dimulai dengan 0 dianggap sebagai oktal oleh PHP, sesuai dengan:http://php.net/manual/en/language.types.integer.php

Tampaknya PHP mengubah angka menjadi desimal sebelum mengeksekusi query MySQL yang berarti query dibentuk dengan angka yang salah.

Misalnya:

Support::find(02155);

Menjadi:

'SELECT * FROM mytable WHERE id = 1133'

Solusinya

Saya menyelesaikan ini dengan mengetikkan nomor ke bilangan bulat menggunakan (int) sebelum saya menggunakannya dengan metode find Eloquents. Ini juga akan berfungsi jika Anda meneruskan nomor sebagai string (yaitu dalam tanda kutip), seperti:

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. Cara menulis kueri Gabung MySQL

  2. Bagaimana cara memperbaiki kesalahan ini mysql_fetch_assoc() mengharapkan parameter 1 menjadi sumber daya, boolean diberikan?

  3. Memilih nilai Dinamis dari formulir HTML dan menyimpannya dalam variabel PHP

  4. Hitung Usia di MySQL (InnoDb)

  5. lavaral 5 ERROR{ (SQLSTATE[HY000] [1045] Akses ditolak untuk pengguna 'root'@'localhost' (menggunakan kata sandi:YA)}