في كثير من الأحيان أثناء العمل على تطبيقات لارافيل، وأثناء عملية إدخال البيانات، فإننا نحاج للوصول للمعرف id لأخر عملية إدخال لقاعدة البيانات.
يوفر إطار العمل لارافيل العديد من الطرق للقيام بذلك.
واحدة من أسهل الطرق وأكثرها فاعلية لحفظ وتعديل البيانات هي الدالة Save، ويمكن لنا الحصول على id أخر عنصر تمت إضافتة
$product = new Product(); $product->name = "Acer Aspire 5 Slim Laptop"; $product->save(); $productId = $product->id(); dd($productId); // will spit out product id
هنا تم الوصول للعنصر من خلال $product->id.
هذه الدالة تعمل نفس عمل الدالة السابقة، بإسثناء أننا نستخدم create لإدخال البيانات.
$product = Product::create(['name' => 'Acer Aspire 5 Slim Laptop']); $productId = $product->id(); dd($productId); // will spit out product id
تم إدخال المنتج ومن ثم الحصول على id أخر عنصر تم إدخالة.
نستطيع أيضا إدخال البيانات بإستخدام DB Facade والحصول على id المنتج الذي تم إدخالة من خلال إستخدام الدالة insertGetId.
$productId = DB::table('products')->insertGetId( [ 'name' => 'Acer Aspire 5 Slim Laptop' ] ); dd($productId); // will spit out product id
بالإمكان أيضا إستخدام PDO Object للحصول على id أخر عنصر تم إدخالة لقاعدة البيانات، حيث يجب إدخال العنصر ومن ثم إستخدام lastInsertId للـ PDO Object.
$product = DB::table('users')->insert( [ 'name' => 'Acer Aspire 5 Slim Laptop' ] ); $productId = DB::getPdo()->lastInsertId();. dd($productId); // will spit out product id
HOSSAM HASSAN
very good