2016-10-23 7 views
-1
$user = ORM::factory('User'); 
    $user->username = 'test'; 
    $user->email = '[email protected]'; 
    $user->password = 'test'; 
    $role = ORM::factory('Role')->where('name', '=', 'login')->find(); 
    $user->add('roles', $role); 
    $user->save(); 

を持つユーザーを作成します。Kohanaのは、私はエラーを取得する役割

Column 'user_id' cannot be null 

私もまだユーザーを作成しなかった場合、私は、USER_IDを埋めることができますか?これに対する任意の説明を見つけることができません

答えて

0

データベーステーブル(私は「ユーザー」と呼ばれていると仮定しています)には、自動インクリメントIDが必要です。 user_idフィールドが自動インクリメントの場合は、user_idフィールドに代入する必要はありません。 phpMyAdminには、属性を編集するときに、構造タブのA_Iというチェックボックスがあります。

+0

既にauto_increment –

+0

データベースAPIまたは使用しているフレームワークからエラーが発生していますか? API(mysqliまたはPDO)から来ている場合は、自動的にインクリメントされないためです。 – milkcup

+0

最初に、新しく作成したIDを取得するためにユーザーを保存する必要があるので、このIDに役割を設定することができますが、このようなことが自動的に行われる方法があると思います。私は今それを手動で行うのではなく –

関連する問題