firstorcreate不适合新入职的laravel

时间:2015-08-05 10:14:38

标签: laravel-4 laravel-5 ardent

我是laravel的新手并且使用ardent来创建模型,我在所有模型的基础类之下。

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

现在我有子模型类这样的用户

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

我还有用户 - >用户存储库的存储库,我正在调用 firstOrcreate 方法来检查(用户输入)并创建用户。 如果用户存在于数据库中,那么上面的方法工作正常,它返回现有的用户对象,但如果用户不存在于数据库中则不创建用户也没有插入表格。我在这里做错了吗?

1 个答案:

答案 0 :(得分:4)

您只需在致电firstOrCreate()后保存用户:

$user->save();

您可能想要在此之前检查用户是否不存在:

if (!$user->id)  $user->save();