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:
- 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.
- 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: