Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
CRUD هو مفهوم أساسي في تطوير التطبيقات، يمثّل العمليات الرئيسية لأي قاعدة بيانات:
في هذا المقال، باش نوريك كيفاش نطبّق CRUD باستعمال Laravel عبر جدول “الأعضاء” (members
) والمسارات المعرّفة.
قبل ما نبدأ، لازمك تتأكد من الأمور التالية:
قبل ما نبدأ، لازمك تتأكد من الأمور التالية:
composer create-project laravel/laravel membership
بعد التثبيت، انتقل إلى مجلد المشروع:
cd membership
قم بتشغيل الخادم الداخلي الخاص بـ Laravel:
php artisan serve
ستجد أن المشروع يعمل على الرابط: http://127.0.0.1:8000
.
.env
في مجلد المشروع، وعدّل إعدادات قاعدة البيانات:DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=membership
DB_USERNAME=root
DB_PASSWORD=
DB_DATABASE
: اسم قاعدة البيانات التي أنشأتها.
DB_USERNAME
و DB_PASSWORD
: حسب إعدادات الخادم المحلي.
php artisan make:migration create_members_table
افتح ملف Migration الذي تم إنشاؤه في database/migrations
وأضف الأكواد التالية:
public function up(): void
{
Schema::create('members', function (Blueprint $table) {
$table->id();
$table->string('first_name');
$table->string('last_name');
$table->string('picture')->nullable();
$table->string('email')->unique();
$table->string('phone_number')->nullable();
$table->date('join_date');
$table->boolean('status')->default(true);
$table->timestamps();
});
}
نفذ أمر الترحيل لتحديث قاعدة البيانات:
php artisan migrate
php artisan make:model Member
افتح ملف النموذج في app/Models/Member.php
وأضف الحقول المسموحة:
protected $fillable =
[
'first_name',
'last_name',
'picture',
'email',
'phone_number',
'join_date',
'status'
];
في ملف routes/web.php
، أضف المسارات:
Route::get('/members', [MembersController::class, 'index'])->name('members.index');
Route::get('/members/create', [MembersController::class, 'create'])->name('members.create');
Route::post('/members', [MembersController::class, 'store'])->name('members.store');
Route::get('/members/{id}', [MembersController::class, 'show'])->name('members.show');
Route::get('/members/{id}/edit', [MembersController::class, 'edit'])->name('members.edit');
Route::put('/members/{id}', [MembersController::class, 'update'])->name('members.update');
Route::delete('/members/{id}', [MembersController::class, 'destroy'])->name('members.destroy');