1

laravelのfindメソッドで使用されるフィールド名をカスタマイズする方法はありますか:

User::find(1) //this assumes that the primary key field is always named id

私はモデルでこれをやってみました:

public static $id = 'user_id';

しかし、これはうまくいきません。find() を実行するときに使用するクエリは、まだ列「id」を使用しています

私はいつでも次のようなことができます:

$user = User::where('user_id', '=', 2);

しかし、私はより少ないコードを入力するのが好きで、特にチェーンして新しいレコードを別のテーブルに挿入したいのですが、これは機能しません:

$user = User::where('insect_id', '=', 2)->transactions()->insert(array('trans_id' => 34));
4

1 に答える 1

6

更新:: (2013 年 11 月 11 日)

laravel 4 以降、主キー属性にアクセスするには primaryKey をオーバーライドする必要があります。

参照

例 :

保護された $primaryKey = 'user_id';

年::

使用する

public static $key = 'user_id';

あなたのモデルで

詳細については、 http://laravel.com/api/source-class-Laravel.Database.Eloquent.Model.html#45を参照してください...

于 2012-11-19T05:31:11.893 に答える