Burhan T. 2 dakikalık okuma
October 3, 2017

Query Builder ya da Eloquent ile eklediğin kaydın "id" numarasını elde etme.

Mesela veritabanına bir kayıt ekledik ve geriye değer olarak da bu eklenen kaydın increment “id” numarasını elde etmek istiyoruz. Eloquent ve Query Builder’da bunun yöntemini göstereceğim:

  1. Query Builder için:
$getid = DB ::table('prospectusers') -> insertGetId([
    'name'=>'Ramsey',
    'family_name'=>'Secret',
    'email'=>'secret@gmail.com'
    'password'=>str_random(10)
                ]);

echo $getid  // kaydın id numarası yazacak.

Görüldüğü üzere Query Builder için insertGetId metodu ile işimizi çözüyoruz. Eğer increment alan “id” adında değilse bunu 2. parametresinde increment alanı belirterek çözeriz.

  1. Eloquent
use App\User;

$new_user = new User();

$new_user->name        = 'Ramsey';
$new_user->family_name = 'Secret';
$new_user->email       = 'secret@gmail.com';
$new_user->password    = str_random(10);

$new_user->save();  // kayıt ediyoruz.

echo $new_user->id  // kayıt edilen kaydın id'sini de bu şekilde elde edebiliyoruz.

Yukarıdaki kod ile Eloquent’te bir kaydı veritabanına ekledik. Görüldüğü üzere cursor en son eklenen kayıtta bulunmaktadır. Böylece $new_user->id; diyerek o eklenen yeni kaydın id numarasını hemen öğrenebiliriz.

Eloquent’da başka bir yöntem:

        $new_user = User ::create([
            'name' => $data['name'],
            'family_name' => $data['family_name'],
            'email' => $data['email'],
            'password' => bcrypt($data['password']),
        ]);

echo $new_user->id   // eklenen kaydın id numarası

Etiketler: