2013-04-11 2 views
0
$account = Account::where('account_id', '=', $account_id)->first(); 
$account->username = 'New_Username'; 
$account->password = 'Password'; 
$account->save(); 

SQLSTATE[42S22]: Column not found: 1054 Unknown column 'id' in 'where clause' 

왜 이런 일이 발생합니까?Laravel3 : UPDATE 문에서 Eloquent/Fluent가 실패 함

+0

이 테이블은 ID 열이 있습니까? –

+0

아니요. 자동 증분으로 account_id. – Aristona

답변

2

Eloquent 모델을 업데이트하면 모델의 기본 키가 사용됩니다.

public static $key = 'account_id'; 

최고의 조언은 id를 사용하는 것이 여전히 있도록 Laravel에서 id 일부 하드 코딩 된 참조가 있다는 것을주의 할 : 기본 기본 키를 사용하면 클래스에 다음 추가하여 변경할 수 있습니다, id입니다 Eloquent 용 데이터베이스를 설계 할 때 기본 키로 사용하십시오.

참조 : laravel/database/eloquent/model.php

+0

나는 내 자신의 데이터베이스에서 기본 키로 id를 사용하지만, 내가 작업하고있는 다른 데이터베이스에 들어있다. 지금 참조를 정리하고 싶지 않으므로 해결책을 고수 할 것입니다. – Aristona