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

إضافة Check Constraints للتهجير في لارافل

Amir Alsaeed

السؤال

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

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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...