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

السؤال

نشر

أحاول أن أقوم بتخزين مجموعة من القيم في جدول في قاعدة البيانا تعلى شكل مصفوفة، ولكن لا أعلم ما هي الطريقة المستعملة في تخزين مصفوفة في قاعدة البيانات، هل يقوم Laravel بتحويل المصفوفة إلى json على سبيل المثال؟ أم يقوم بتخزينها بطريقة مختلفة؟

سؤالي هو كيفية تخزين مصفوفة Array في قاعدة البيانات في لارافيل Laravel؟

Recommended Posts

  • 1
نشر

إذا أردت تخزين المصفوفة ضمن حقل واحد في جدول ضمن قاعدة البيانات يمكنك الاستفادة من خاصية التحويل التلقائي في لارافل Casting، ضمن النموذج الخاص بالجدول نقوم بتعريف نوع التحويل للخاصية بفرض أن الخاصية تسمى data نحدد نوع التحويل كالتالي:

class MyModel extends Model {

  protected $casts = [
      'data' => 'array', // لتحويل الحقل لمصفوفة
  ];

}

بعدها يمكنك التعامل مع الخاصية بشكل طبيعي ضمن المشروع فتعين قيمة مصفوفة لتلك الخاصية ويمكنك استخراجها منها كالتالي:

$model = User::first();

// الخيار $data من نوع مصفوفة
$data = $model->data;

// يتم تحويل القيمة المسندة تلقائيًا
$model->data = ['option_1' => '...'];

 

  • 1
نشر

تستطيع تخزينها ك json وعرضها ك array

داخل ملف migration:

$table->json('your_array');

داخل ال model تقوم بعمل casting

   protected $casts = [
      'your_array' => 'array'
   ];

عند إدخال البيانات:

$test_data = [
	'key_1' => 'value_1',
	'key_2' => 'value_2,
];
Your_Model::create(['your_array' => $test_data]);

وعند استخراج البيانات ستكون على شكل array

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...