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'

なぜこうなった?

4

1 に答える 1

2

Eloquent モデルを更新すると、モデルの主キーが使用されます。デフォルトの主キーは ですid。これは、クラスに次を追加することで変更できます。

public static $key = 'account_id';

idLaravel にはハードコーディングされた参照がいくつかあることに注意してください。そのidため、Eloquent 用のデータベースを設計する際には、引き続き主キーとして使用することをお勧めします。

参考:laravel/database/eloquent/model.php

于 2013-04-11T00:38:36.470 に答える