0
私は比較的新しいlaravelを使用しており、手動で設定する必要があるプロジェクトがあります。Laravel User Authentication Scaffolding - > 2つのテーブルにデータを保存する
背景:プロフィールやユーザー:認証足場での作業
- は、私は2つのテーブルを持っている
- (ユーザー 登録とログインを処理します)。
- すべてのユーザーは1つのプロフィールを持っています。
- ただし、すべてのプロファイルにユーザーがあるわけではありません。
セットアップ: Profileテーブル =>などのID、名前、アバター、 ユーザー表 => PROFILE_ID、電子メール、パスワード
Laravel認証(足場)が登録を処理しているためとログイン。私は、ユーザーテーブルを保存する前にプロファイルテーブルにデータを保存しようとしています。
protected function create(array $data)
{
$profile = Profile::create
([
'slug' => $data['name'],
'name' => $data['name'],
]);
$user = User::create
([
'profile_id' => $profile->id,
'name' => $data['name'],
'email' => $data['email'],
'password' => bcrypt($data['password']),
]);
return $user;
}
これは機能しません。そして、エラーメッセージは、クエリに割り当てられたprofile_idがないことを伝えています。
私は間違っていますか?
はいそれは私のオリジナルのアイデアだったが、私は次のようになっています:SQLSTATE [HY000]:一般的なエラー:1364フィールド「PROFILE_ID」は持っていません雄弁し、あなたのDBが正しく設定されている場合は、これを行うことができますデフォルト値(SQL: 'name'、' email'、 'password'、' updated_at'、 'created_at')の値(John、[email protected]、$ 2y $ 10 $ NoMoLSL1Sgek4enF2k2x7eL2Yo.To8O5uiriCrZdZk9rlW4CVbK1u、 2017-08-02 18:08:17、2017-08-02 18:08:17)) –
データベースの移行を確認するには、プロファイルID列が**自動増分**に設定されていることを確認する必要があります –