2015-06-06 68 views
29

我使用Laravel的函數firstOrNew()來創建新用戶或查找和更新現有用戶。Laravel首先或新建如何檢查它是第一次還是新建?

如何知道對象創建後,以前是否存在,或者是否是新對象?

的想法是這樣的:

$user = \App\User::firstOrNew([ 
    'email' => $userData->getEmail(), 
    'name' => $userData->getName(), 
]); 

if ($user->new) { // some way to check 
    // user was created now 
} else { 
    //user already existed 
} 
+0

檢查created_at時間戳 –

+0

將它仍然是空的,當我使用firstorNew?它不會在數據庫上 – raphadko

+0

爲什麼「它不會在數據庫上」? –

回答

42

您可以檢查模型上的exists財產。

if ($user->exists) { 
    // user already exists 
} else { 
    // user created from 'new'; does not exist in database. 
} 
1

您可以檢查您的用戶是否最近創建。

if ($user->wasRecentlyCreated) { 
    // new user 
} else { 
    // user already exists 
} 

(來源:Thomas Kimthis answer

相關問題