sql >> Databáze >  >> RDS >> Mysql

Laravel Výmluvné najít vracející se null

Je to způsobeno tím, že čísla začínající 0 považuje PHP za osmičkové, jak je uvedeno v:http://php.net/manual/en/language.types.integer.php

Zdá se, že PHP před provedením dotazu MySQL převede číslo na desítkové, což znamená, že dotaz je vytvořen s nesprávným číslem.

Například:

Support::find(02155);

Stává se:

'SELECT * FROM mytable WHERE id = 1133'

Řešení

Vyřešil jsem to tak, že jsem číslo přetypoval na celé číslo pomocí (int), než jsem ho použil s metodou hledání Eloquents. Bude také fungovat, pokud číslo předáte jako řetězec (tj. v uvozovkách), například takto:

Support::find('02155');


  1. CONVERT() v SQL Server

  2. mysql - Jak zacházet s hledáním pomocí speciálních znaků /(lomítko) a \(zpětné lomítko)

  3. Jak vypsat pouze konkrétní tabulky z MySQL?

  4. Postgres/JSON - aktualizujte všechny prvky pole