2015-02-11 3 views
0

Я хочу, чтобы обновить свои данные с помощью красноречивых, но он дал мне ошибку:Eloquent ОРМ не сохранить значение в Laravel

SQLSTATE[42S22]: Column not found: 1054 Unknown column 'od_logo.id' in 'where clause' (SQL: select * from `od_logo` where `od_logo`.`id` = 1 limit 1) 

Вот мой код:

$logo = Logo::find($id); 
$logo->logo_logoimg_name  = Input::get('logo_name'); 
$logo->logo_logoimg_path  = $logo_destinationPath . $logo_filename; 
$logo->logo_faviconimg_name = $favicon_destinationPath . $favicon_filename; 
$logo->save(); 

Пожалуйста, найти, где я неправильно в этом коде

+0

Ваш столбец первичного ключа называется 'id' или что-то еще? – lukasgeiter

+0

Мой первичный ключ logo_id – okconfused

ответ

2

Поскольку ваш первичный ключевой столбец не называется id (который по умолчанию предполагается Laravel), вы должны указать его в своей модели:

class Logo extends Eloquent { 
    protected $primaryKey = 'logo_id'; 
} 

Цитата из docs:

Note: Eloquent will also assume that each table has a primary key column named id. You may define a primaryKey property to override this convention.

+0

Спасибо lukasgeiter – okconfused

+0

Добро пожаловать :) – lukasgeiter

Смежные вопросы