Kiedy chcę zaktualizować bazę danych FaqTrans
, ale ten zbiór danych ma dwa klucze podstawowe (faq_ida i język): $table->primary(array('lang', 'faq_id'));
. więc nie potrzebuję kolumny id
z funkcją auto_increment.Jak zaktualizować dane w Eloquent bez identyfikatora w Laravel 4
Jednak, gdy używam następującego kodu do aktualizacji bazy danych, komunikat o błędzie podpowiada mi, że nie ma kolumny id
.
$faq_trans = FaqTrans::where('faq_id','=',$faq_id)->where('lang','=',$lang)->first();
$faq_trans->lang = Input::get('lang');
$faq_trans->body = Input::get('body');
$faq_trans->title = Input::get('title');
$faq_trans->save();
komunikat
SQLSTATE [42S22] Kolumna nie znaleziono: 1054 wiadomo w kolumnie 'id' z 'gdzie punkt' (SQL: zmiana
FAQtrans
ustawionebody
=,updated_at
= gdzie?id
jest zerowy) (Wiązania: tablica (0 => 'adfadaaadfadaa', 1 => '04.07.2013 11:12:42'))
i kiedy dodaje się id
kolumna, kod działa poprawnie ...
Czy istnieje sposób aktualizacji bazy danych bez kolumny ID?
pan ustawić klucz podstawowy w modelu –
próbowałem ustawić klucz podstawowy w modelu, ale wydaje się, nie można ustawić dwa klucz podstawowy na raz (kluczu złożonym), jak 'protected $ primaryKey = array ('lang''faq_id'); ' –
Być może będziesz musiał użyć' -> update (array ('column' => 'value')) 'zamiast używać save. –