يساعد Laravel و Eloquent في تسريع تطوير التطبيقات والمنصات ، مما يوفر حلًا مناسبًا لمعظم المشكلات. تتم معالجة المتطلبات من خلال التطوير الأسرع ، بالإضافة إلى التعليمات البرمجية جيدة التنظيم والقابلة لإعادة الاستخدام والصيانة والقابلة للتطوير.
يمكن للمطورين العمل في Eloquent
مع قواعد بيانات متعددة بكفاءة باستخدام تطبيق ActiveMethod. إنه نمط معماري حيث يتوافق النموذج الذي تم إنشاؤه في بنية Model-View-Controller (MVC) مع جدول في قاعدة البيانات. الميزة هي أن النماذج تنفذ عمليات قاعدة بيانات مشتركة دون الحاجة إلى ترميز استعلامات SQL الطويلة. تسمح لك القوالب بالاستعلام عن البيانات في الجداول وإدراج سجلات جديدة في الجداول. تم تبسيط عملية مزامنة قواعد بيانات متعددة تعمل على أنظمة مختلفة. لا تحتاج إلى كتابة استعلامات SQL. كل ما عليك القيام به هو defiقم بإنهاء جداول قاعدة البيانات والعلاقات بينها، وسيقوم Eloquent ببقية العمل.
تقدير فائدة Eloquent ORM ، وفهم النظام البيئي أمر لا بد منه. خطوات للبدء:
migration
باستخدام وحدة التحكم Artisan
eloquent
seed
من قاعدة البياناتArtisan Console
هو اسم واجهة سطر الأوامر المضمنة في Laravel. يوفر مجموعة من الأوامر المفيدة لاستخدامها أثناء تطوير تطبيقك. إنه مدفوع بالمكون القوي Symfony Console
.
لمشاهدة قائمة بجميع أوامر Artisan المتاحة ، يمكنك استخدام أمر list:
php artisan list
تأتي جميع الأوامر مع وصف موجز لحججها وخياراتها. يظهر هذا في شاشة "تعليمات". لعرض شاشة تعليمات ، ما عليك سوى كتابة "help" قبل اسم الأمر كما هو موضح:
php artisan help migrate
Migration
الترحيل هو عملية إدارة قاعدة بيانات عن طريق كتابة PHP بدلاً من ذلك SQL
. يوفر طريقة لإضافة عنصر تحكم الإصدار إلى قاعدة البيانات.
لإنشاء ترحيل ، ما عليك سوى تشغيل الأمر التالي:
php artisan make:migration create_student_records
هذا يخلق ملف الهجرة. في محرر النصوص ، افتح الملف الذي أنشأته للتو في المجلد database\migrations
:
<?php
use IlluminateSupportFacadesSchema;
use IlluminateDatabaseSchemaBlueprint;
use IlluminateDatabaseMigrationsMigration;
class CreateStudentRecordsTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('student__records', function (Blueprint $table) {
$table->increments('id');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('student__records');
}
}
الرمز فئة بنفس الاسم "create student records
'، وله طريقتان: لأعلى ولأسفل. يجب أن يقوم أسلوب up بإجراء تغييرات على قاعدة البيانات ؛ لذلك عندما تقوم بترحيل قاعدة البيانات الخاصة بك ، سيتم تنفيذ أي كود في طريقة up. من ناحية أخرى ، يجب أن يتراجع أسلوب down هذه التغييرات في قاعدة البيانات ؛ لذلك كلما قمت بتشغيل rollback
من migration
، يجب أن تتراجع طريقة down ما فعلته طريقة up. داخل الطريقة up
هناك منشئ المخطط المستخدم لإنشاء الجداول ومعالجتها. ماذا يحدث إذا ألغيت بعض هجراتك؟ كل ما عليك فعله هو تنفيذ الأمر التالي:
php artisan migrate:rollback
وسيجمع آخر واحد migration
الذي تم تنفيذه. يمكنك أيضًا استعادة قاعدة البيانات بالكامل عن طريق تشغيل:
php artisan migrate:reset
سيؤدي هذا إلى إلغاء جميع هجراتك.
Eloquent
بعد اكتمال ترحيل قاعدة البيانات ، تكون العملية التالية هي ملف seeding
. Eloquent
يدخل حيز التنفيذ منذ seeding
يقوم بإدخال السجلات في قاعدة البيانات الخاصة بنا. لذلك ستحتاج إلى إنشاء القوالب قبل ملء قاعدة البيانات. يحتوي كل جدول قاعدة بيانات على نموذج مطابق يُستخدم للتفاعل مع هذا الجدول. تسمح لك القوالب بالاستعلام عن البيانات الموجودة في جداولك ، بالإضافة إلى إدراج سجلات جديدة في الجدول. أسهل طريقة لإنشاء مثيل للنموذج هي استخدام الأمر التالي:
php artisan make:model Student
يتم عرض مثال على قالب أدناه Student
، والتي يمكن استخدامها لاسترداد وتخزين المعلومات من جدول قاعدة بيانات الطلاب لدينا:
<?php
namespace App;
use IlluminateDatabaseEloquentModel;
class Student extends Model
{
//
}
عند إنشاء نموذج وفي نفس الوقت تريد إنشاء ترحيل قاعدة بيانات ، يمكنك استخدام الخيار –migration
o -m
:
php artisan make:model Student --migration
php artisan make:model Student -m
البذر بشكل عام عبارة عن مجموعة خاصة من الفئات التي تسمح لنا بتعبئة قاعدة البيانات الخاصة بنا مرارًا وتكرارًا بنفس البيانات بالضبط. نقوم بتنفيذ الأمر التالي:
php artisan make:seeder StudentsRecordSeeder
في محرر النصوص ، أسفل مجلد البذور ، افتح الملف الذي تم إنشاؤه حديثًا باسم الملف: StudentsRecordSeeder.php
. كما ترى ، هذا مجرد فصل بسيط للغاية مع طريقة واحدة تسمى run
().
<?php
use IlluminateDatabaseSeeder;
class StudentsRecordSeeder extends Seeder
{
/**
* Run the database seeds
* @return void
*/
public function run()
{
//
}
}
الكود هو مجرد غلاف حول فئة أوامر وحدة التحكم ، تم تصميمه خصيصًا للمساعدة في مهمة seeding
. قم بتحرير الكود ثم قم بحفظه.
public function run()
{
echo 'Seeding!';
}
والذهاب إلى المحطة:
php artisan db:seed --class=StudentsRecordSeeder
يمكنك الآن ملء الجدول ببعض الإدخالات وتشغيل:
php artisan db:seed --class=class=StudentsRecordSeeder
هنا يمكنك الاستمرار في حذف الإدخالات وإضافتها وتعديلها في قاعدة البيانات ، ثم استعادتها بأمر بسيط.
تسهل عمليات CRUD باستخدام مخطط ربط الكائنات (ORM) في Laravel Eloquent على مطوري Laravel العمل مع قواعد بيانات متعددة. يقوم بإجراء عمليات الإنشاء والقراءة والتحديث والحذف (CRUD) ، وتعيين نماذج الكائنات إلى جداول قاعدة البيانات. يتعامل مع جميع تفاعلات قاعدة البيانات المطلوبة لعمليات CRUD.
يمكنك استخدام الأسلوب :: create لإدراج سجل جديد في قاعدة البيانات.
student_record::create(array(
'first_name' => 'John',
'last_name' => 'Doe',
'student_rank' => 1
));
بالإضافة إلى طريقة الإنشاء البسيطة الموضحة أعلاه ، يمكنك أيضًا إنشاء كائن جديد ومنحه سمات مختلفة. بعد ذلك ، يمكنك استدعاء وظيفة save () وتشغيل الكود. طرق مثل firstOrCreate
() س firstOrNew
() هي خيارات أخرى لإنشاء السجلات. سيسمح لك ذلك بالعثور على طالب له سمات معينة ؛ إذا لم يتم العثور على هذا الطالب ، فسوف تقوم بإنشائه في قاعدة البيانات أو إنشاء مثيل جديد.
باستخدام Eloquent ORM ، يمكنك العثور على سجلات في قاعدة البيانات الخاصة بك. يتم إنشاء الاستعلامات ببساطة وتوفر تدفقًا سلسًا. لإنشاء البيانات:where
، سوف تستخدم الأساليب get
() و first
(). طريقة first
() سيعود فقط سجل واحد ، بينما الأسلوب get
() سيعيد مجموعة سجلات قابلة للحلقة. أيضا ، الطريقة find
يمكن استخدام () مع مجموعة من المفاتيح الأساسية ، والتي ستعيد مجموعة من السجلات المتطابقة. وهنا بعض الأمثلة:
$student = Students::all();
هذا الرمز يحصل على جميع الطلاب. بينما يعثر الكود التالي على طالب معين عن طريق المعرف:
طالب $ = الطلاب :: find (1)؛
أيضًا ، كما هو موضح أدناه ، يصف الكود البحث عن طالب بناءً على سمة معينة.
$JohnDoe = Students::where('name', '=', 'John Doe')->first();
بالنسبة إلى طريقة get () ، يوضح هذا الرمز كيفية العثور على طالب بمستوى أعلى من 5.
$rankStudents = Student::where('student_rank', '>', 5)->get();
يعد تحديث السجلات باستخدام Eloquent بنفس السهولة. لتحديث سجل ، ما عليك سوى العثور على السجل الذي تريد تحديثه وتعديل السمات وحفظه. على سبيل المثال ، لتغيير مستوى الصف لطالب John Doe إلى 5 ، ابحث أولاً عن الطالب ثم نفذ طريقة الحفظ.
$JohnDoe = Bear::where('name', '=', 'John Doe')->first();
$JohnDoe->danger_level = 5;
$JohnDoe->save();
يمكن أيضًا استخدام طريقة الحفظ لتحديث النماذج الموجودة بالفعل في قاعدة البيانات.
تفتخر Eloquent بعمليتها السهلة لتحديث السجل ، ولكن لها نفس القصة مع الحذف. هناك خياران: سحب السجلات وتنفيذ طريقة الحذف ، أو ببساطة استخدام طريقة التدمير. للبحث عن سجل وحذفه ، ما عليك سوى تشغيل الأوامر التالية:
$student = Students::find(1);
$student->delete();
لحذف سجل وسجلات متعددة ، يتم تشغيل الأوامر:
Students::destroy(1);
Students::destroy(1, 2, 3);
لاحظ أن معلمات التدمير هي مفاتيح أساسية فقط على عكس طريقة الحذف التي يمكن أن تقبل أي عمود في قاعدة البيانات.
للعثور على جميع الطلاب فوق المستوى 10 وحذفهم.
Students::where('student_rank', '>', 10)->delete();
Ercole Palmeri
يعد القطاع البحري قوة اقتصادية عالمية حقيقية، وقد اتجه نحو سوق يبلغ حجمه 150 مليارًا...
أعلنت صحيفة فاينانشيال تايمز يوم الاثنين الماضي عن صفقة مع OpenAI. "فاينانشيال تايمز" ترخص صحافتها ذات المستوى العالمي...
يدفع الملايين من الأشخاص مقابل خدمات البث، ويدفعون رسوم الاشتراك الشهرية. من الشائع أنك…
سوف تستمر شركة Coveware by Veeam في تقديم خدمات الاستجابة لحوادث الابتزاز السيبراني. ستوفر Coveware إمكانات الطب الشرعي والمعالجة...