اذهب إلى المحتوى

السؤال

نشر

هذا البرنامج استخدمه لتخزين البيانات في الجدول المخصص لها

public function create()
{	
    $post = Input::All();
    $data = new Company;
    $data->number = $post['name'];
    $data->address = $post['address'];
    $data->phone = $post['phone'];
    $data->email = $post['email'];
    $data->type = $post['type'];

    if ($data->save()) {
        return Response::json(array('success' => true), 200);
    }
}

وأريد الحصول على رقم المعرف (id) الذي تم إنشاؤه تلقائيًا في قاعدة البيانات وارجاعه مع json

Recommended Posts

  • 0
نشر

بعد إدراج القيم الجديدة في قاعدة البيانات, يتم تخزين الرقم المعرف الذي تم إنشاؤه حديثًا في الكائن الذي استخدم في حفظ البيانات كالتالي:

$data->save(); // حفظ القيم في قاعدة البيانات
$data->id; // يتم تخزين رقم المعرف تلقائيًا

ويمكنك ادراجه في JSON كالتالي:

return response()->json(array('success' => true, 'id' => $data->id), 200);	

 

  • 0
نشر

بعد إجراء الحفظ يمكنك استعادة آخر رقم معرف ID تم إدخاله إلى الجدول في قاعدة البيانات بحيث يكون ترتيب العمليات كالتالي:

$data->save();
$data->id;

وتستطيع استخدام الآلية بالشكل التالي:

return Response::json(array('success' => true, 'last_insert_id' => $data->id), 200);

ويمكنك أيضاً عن طريق استخدام Eloquent:

DB::Company()->lastInsertId();

كما تتيح لارافيل طريقة مباشرة لاستعادة الرقم المعرّف بعد إدخال سجل محدد إلى قاعدة البيانات بالشكل التالي:

$id = DB::table('company')->insertGetId([
    'number' => 'name',
    'address' => 'anyaddress'
]);

ويمكنك أيضاً تنفيذه بشكل مباشر عن طريق استخدام المودل:

$id = Company::insertGetId(["address"=>"anyaddress","number"=>"44444"]);

 

  • 0
نشر

بشكل افتراضي يمكنك استخدام id العملية المنفذة بهذه الطريقة  

public function create()
{	
    $post = Input::All();
    $data = new Company;
    $data->number = $post['name'];
    $data->address = $post['address'];
    $data->phone = $post['phone'];
    $data->email = $post['email'];
    $data->type = $post['type'];

    if ($data->save()) {
	$id = $data->id;	
        return \Response::json(array('success' => true, 'id'=>$id), 200);
    }
}

ثم تقوم بإرجاعه في Response لا تنسى وضع في اعلى المتحكم 

use Response;

أو التعويض عنها بقيمة \ قبل كلمة Response.

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...