簡體   English   中英

“ Laravel 5.1”使用userId添加用戶和項目

[英]“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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM