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

SQLSTATE[42S22]:Sloupec nenalezen:1054 Neznámý sloupec „id“ v „klauzuli where“ (SQL:vyberte * z „skladeb“, kde „id“ =5 limit 1)

Když použijete find() , automaticky předpokládá, že váš sloupec primárního klíče bude id . Aby to fungovalo správně, měli byste ve svém modelu nastavit primární klíč.

Tedy v Song.php , v rámci třídy přidejte řádek...

protected $primaryKey = 'SongID';

Pokud existuje nějaká možnost změny schématu, velmi doporučuji pojmenovat všechny sloupce primárního klíče id , to je to, co Laravel předpokládá a pravděpodobně vás ušetří od dalších bolestí hlavy na cestě.



  1. 2 způsoby, jak vrátit řádky, které obsahují pouze alfanumerické znaky v Oracle

  2. Dialekt musí být explicitně poskytnut od verze 4.0.0

  3. Entity Framework 6 – Časové dotazy

  4. Jiné než číselné znaky, které se vrátí jako kladné při použití ISNUMERIC() na serveru SQL Server