4

私はlaravelが初めてで、モデルの作成に熱心に使用しています。すべてのモデルの基本クラスの下にあります。

class MainModel extends Ardent {
  //with some common methods
}

そして今、私はそのようなユーザーのサブモデルクラスを持っています

class User extends MainModel
{
  //with user table and other methods related to user
 }

また、ユーザーのリポジトリ->ユーザーリポジトリがあり、 firstOrcreateメソッドを呼び出して(ユーザーエントリ)をチェックしてユーザーを作成しています。ユーザーがデータベースに存在する場合、上記のメソッドは正常に機能し、既存のユーザーオブジェクトを返しますが、ユーザーがデータベースに存在しない場合、ユーザーを作成していません。また、テーブルにエントリを挿入していません。ここで間違っていますか?

4

1 に答える 1

4

を呼び出した後、ユーザーを保存するだけですfirstOrCreate():

$user->save();

その前にユーザーが存在しないかどうかを確認することをお勧めします。

if (!$user->id)  $user->save();
于 2015-08-10T16:30:17.213 に答える