Nie znaleziono kolumny: 1054 nieznana kolumna „id” w „klauzuli gdzie” - Laravel
Wystąpiło wiele problemów z tym związanych, ale postępuję zgodnie z dokładną procedurą rozwiązania tego problemu opisaną w innych powiązanych pytaniach dotyczących S.O, ale otrzymuję ten sam błąd.
Wynik
public function products()
{
return $this->hasMany('App\Product');
//->withTimestamps();
}
Produkt
public function shop()
{
return $this->belongsTo('App\Shop');
//->withTimestamps();
}
Tak wygląda mój schemat
Schema::create('products', function (Blueprint $table) {
$table->increments('product_id');
$table->integer('shop_id')->unsigned()->nullable();
$table->foreign('shop_id')->references('id')->on('shops'); $table->timestamps(););
Kontroler
$products = new Product(array( 'name' => $request->('name');
)); $shop->products()->save($products);
Po przesłaniu danych mojego formularza do tabeli produktów otrzymuję błąd
Column not found: 1054 Unknown column 'id' in 'where clause'. Laravel domyślnie wydaje się akceptować
iddomyślnie jako mój klucz podstawowy, ale jest to
product_id.
W moim modelu określiłem
protected $ primaryKey = 'product_id'i to nie rozwiązałoby mojego problemu. Co ja robię inaczej?
Nie znaleziono powiązanych wyników
Zaproszony:
Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się
3 odpowiedzi
Anonimowy użytkownik
Potwierdzenie od:
SHOP
PRODUCT
Dokumentacja wyjaśnia, jak to działa:
https://laravel.com/docs/5.5/e ... -many
https://laravel.com/docs/5.5/e ... -many
Anonimowy użytkownik
Potwierdzenie od:
Schemat:
Model relacji jest dokładnie taki sam jak Twój post.
Kod kontrolera:
A co z efektem końcowym? Jest zapisywany w tabeli produktów bez błędów.
Używam Laravel 5.4 w moim lokalnym biurze.
Kiedy pojawia się , ale czy jest to tabela produktów? Czy możesz wyświetlić pełny dziennik błędów Sql?
Podejrzewam, że może to być inny związek, który spowodował błąd.
Anonimowy użytkownik
Potwierdzenie od: