2015-12-14 12 views
5

私は、ユーザーが両方ともリンクされている新しいユーザーを作ることでプロジェクトをデータベースに投稿できるフォームを持っています。"Laravel 5.1" userIdでユーザーとプロジェクトを追加

テーブル内のUsersidとprojects.user_idの値。しかし、私は小さな問題があります。私がusersテーブルから最後のIDを取得し、その次のIDのために+1を使用した場合、それは機能します。しかし、IDを持つ新しいプロジェクトを追加する前にユーザーが削除されてしまった場合、アプリケーションが起動したときに本当に乱雑になることがあります。

テーブル内の最後のユーザーがID5であるとします。誰かがそれを削除し、その日の後に新しいユーザーと新しいプロジェクトを作りました。次のIDはID 6になりますが、私のコードによればprojects_tableでは5に反映されますが、users_tableでは6になります。

誰かが私に正しいIDを持っているために使うことができる機能を提案できるかどうか疑問に思っていましたか?

'user_id' => $lastidplus, 

:バリ前

public static function getLastRow(){ 
      $data = DB::table('users')->select('id') 
       ->orderBy('id', 'desc') 
       ->first(); 
      return $data->id; 
     } 

最後のIDを取得するための

機能は、私はこれを持って、私のバリデータで

$lastidplus = (int)User::getLastRow() + 1; 

プロジェクトに追加するための最後のIDを数えます注::これは動作しますが、将来はusersテーブルの最後の行が削除されます。彼は常に1つの違いがあるので、対応するプロジェクトテーブルに偽のIDの連鎖反応が来るでしょう。私はそれを不可能にしたい。

+2

感謝@Rajを。再びポストを作るときにもっと注意を払うでしょう! –

+2

あなたの英語は十分ではないので、あなたの質問にいくつかのコードを含めることができますので、わかりやすくご理解ください。 – Digitlimit

+1

@StefanoGroenland ur常にwlcm – CandleCoder

答えて

2

あなたは新しく作成されたレコードの試みのIDを取得しようとしている場合:それは少しよりよい作るため

$user = User::create(['name'=>'Stefano']); 
$user->id 
+2

は '$ user = User :: create(...)' ''gebruiker_id' => $ user-> id'で作成しました。 –

関連する問題