Mysql
 sql >> Baza danych >  >> RDS >> Mysql

SQLSTATE[42S22]:Nie znaleziono kolumny:1054 Nieznana kolumna „id” w klauzuli „where” (SQL:wybierz * z „utwory”, gdzie „id” =5 limit 1)

Kiedy używasz find() , automatycznie zakłada, że ​​kolumna klucza podstawowego to id . Aby to działało poprawnie, powinieneś ustawić swój klucz podstawowy w swoim modelu.

Więc w Song.php , w klasie dodaj linię...

protected $primaryKey = 'SongID';

Jeśli istnieje jakakolwiek możliwość zmiany schematu, zdecydowanie polecam nazwanie wszystkich kolumn klucza podstawowego id , to jest to, co zakłada Laravel i prawdopodobnie uratuje cię przed kolejnymi bólami głowy.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Błąd wyszukiwania pełnotekstowego mysql

  2. Kiedy wybieramy DateTime zamiast Timestamp?

  3. Aktualizacja Laravel 5.4, konwersja do utf4mb z utf8

  4. Przechowywanie wartości Lat Lng w MySQL przy użyciu Spatial Point Type

  5. Kolumna zmiany nazwy MySQL