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

السؤال

نشر

أرغب بإنشاء الجدول التالي أثناء عمليات التهجير على قاعدة البيانات في مشروع لارافل:

CREATE TABLE Payments
(
 ID int PRIMARY KEY, 
 Department_ID INT,
 Salary decimal(9,2) 
 CHECK (Salary < 500.00)
);

واستطعت من إنشاء البنية التالية:

Schema::create('Payments', function (Blueprint $table)
{
    $table->increments('id');
    $table->integer('department_id');
    $table->decimal('salary',9,2);
   
});

ولكن كيف يمكنني إضافة هذه القيود عليها مثل: CHECK (Salary < 500.00) ؟

Recommended Posts

  • 0
نشر

لا أظن أن الفكرة ممكنة عن طريق تابع ضمن الكائن Blueprint , و لكن يمكنك إضافة أي قيد عن طريق مفهوم المعدلات Mutators قبل أي إدراج بقواعد البيانات

. نقوم بتعريف المعدل setSalaryAttribute بداخل ملف النموذج المستهدف على هذا النحو :  

class YourModel extends Model{

    public function setSalaryAttribute($value){
        $this->attributes['salary'] = $value < 500.00 ? $value : 500.00;
    }

}

في هذا المثال سيقوم بالتحقق , كل مرة نحاول فيها إدراج أو تحديث القيمة salary , إن كانت القيمة salary أقل من 500.00 و إلا فسيضع 500.00 نفسها . 

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

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

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

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

  • إعلانات

  • تابعنا على



×
×
  • أضف...