[英]“Laravel 5.1” add user and project with userId
我有一個表單,用戶可以在其中將項目發布到數據庫中,也可以使新用戶將兩者鏈接在一起。
表中的Usersid和projects.user_id值。但是,我有一個小問題。 如果我從用戶表中獲得了最后一個ID,並將該+1用於下一個ID,則它可以正常工作。 但是,如果在添加ID為ID的新項目之前刪除用戶,則在應用程序啟動時會變得非常混亂。
假設我在表格中獲得了最后一個用戶ID 5。 但是,有人刪除了它,第二天我與一個新用戶創建了一個新項目。現在下一個ID將是ID6。但是根據我的代碼,它在projects_table中反映了5,但在users_table中卻反映為6。
我想知道是否有人可以向我建議一個可以用於獲取正確ID的函數?
獲取最后一個ID的功能
public static function getLastRow(){
$data = DB::table('users')->select('id')
->orderBy('id', 'desc')
->first();
return $data->id;
}
在驗證器之前,我計算將其添加到項目中的最后一個ID
$lastidplus = (int)User::getLastRow() + 1;
在我的驗證器中,我有這個:
'user_id' => $lastidplus,
注意::此方法有效,但是如果將來刪除了用戶表中的最后一行。 相應項目表中會出現虛假ID的連鎖反應,因為他總是有1個差異。 我想做到這一點。
如果要獲取新創建記錄的ID,請嘗試:
$user = User::create(['name'=>'Stefano']);
$user->id
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.