:: # دورة التسويات الجردية والأخطاء المحاسبية ومعالجتها#26 يناير 2025م #اسطنبول#metc (آخر رد :جهاد سعيد)       :: #دورة جودة المشاريع الانشائية والتعامل مع المقاولين2024#5 يناير 2025م# metc (آخر رد :جهاد سعيد)       :: دورة نظم الصيانة المخططة – التخطيط، الجدولة،التنفيذ والمتابعة (آخر رد :AHMEDBBMF)       :: دورة صيانة وتشغيل المولدات الكهربية (آخر رد :مصطفى فلفل)       :: دورة تدريب المشغلين على صيانة الآلات (آخر رد :بيسان احمد)       :: دورة الاعتماد والتحصيلات المستندية وفق قواعد غرفة التجارة الدولية الالكترونية (آخر رد :AHMEDBBMF)       :: دورة إدارة تعثر الديون والمحاسبة عن التدفقات النقدية (آخر رد :AHMEDBBMF)       :: دورة التخطيط للمبيعات والعمليات على مستوى عالمي (آخر رد :مصطفى فلفل)       :: #دورة إدارة مشروع سلسلة التوريد: اختيار وإدارة البائعين (آخر رد :بيسان احمد)       :: دورة التدقيق على إجراءات السلامة و تفتيش الموقع (آخر رد :مصطفى فلفل)      
اختر لونك:
وَقُلِ اعْمَلُوا فَسَيَرَى اللَّهُ عَمَلَكُمْ وَرَسُولُهُ وَالْمُؤْمِنُونَ ۖ وَسَتُرَدُّونَ إِلَىٰ عَالِمِ الْغَيْبِ وَالشَّهَادَةِ فَيُنَبِّئُكُم بِمَا كُنتُمْ تَعْمَلُونَ [ التوبة : ( 105 )] كلمة الإدارة

يرجى إختيار القسم المناسب قبل النشر وسيعاقب المخالف بإنذار أول مرة وسيتم حظره إذا تكرر ذلك كلمة الإدارة

يُمنع كتابة مواضيع السحر والشعوذة والروحانيات والابراج بكافة الأشكال والمخالف سيعاقب بحظر مؤقت وإذا تكرر سيكون حظر دائم تنبيه هام جداً



أضف رد جديد
 
LinkBack أدوات الموضوع انواع عرض الموضوع

قديم 23-02-2019, 04:16 PM   #1
تاريخ التسجيل: Feb 2019
المشاركات: 1,010
التقييم: 10
تاريخ التسجيل: Feb 2019
المشاركات: 1,010
التقييم: 10
افتراضي كيف تنشئ نموذجا (Model) في Laravel

كيف تنشئ نموذجا (Model) في Laravel

يقدّم هذا الدرس كيفية إنشاء نموذج Model قاعدي في Laravel ومن ثم استخدامه. النماذج
يختزل الأمر بهذه الطريقة الكثير من الوقت ويجعلنا نركّز على الأهم: عمل النموذج.

ستجد بعد اكتمال تنفيذ الأمر ملفا باسم Widget.php في مجلّد app المتفرّع عن مجلّد المشروع، وملفًّا للتهجير في المجلّد database/migrations. يظهر اسما الملفّيْن في مخرجات تنفيذ الأمر السّابق. نفتح ملفّ Widget.php للنظر في محتواه:

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Widget extends Model
{
//
}
هذا كلّ ما يوجد الملف! هيكل نموذج يمكننا الاستفادة منه لإنشاء ما نريد.

بالانتقال إلى مجلّد database/migrations نجد ملفًّا يشبه التالي:

2016_03_19_163722_create_widgets_table.php
يظهر في بداية اسم الملف ختم زمني بتاريخ إنشائه. يفترض Laravel أن اسم النموذج كلمة مفردة (Widget مثلا) تبدأ بحرف كبير Uppercase، في حين يتوقّع أن يكون اسم الجدول Table جمعًا (widgets) يبدأ بحرف صغير. يمكن تفسير الأمر بأن النموذج يُرجِع نظيرا واحدا لتسجيلات الجدول.

إذا نظرنا إلى ملفّ التهجيرات فسنجد أن لدينا قاعدة يمكننا البناء عليها لأمور أكثر تقدّما:

use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

class CreateWidgetsTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('widgets', function (Blueprint $table) {
$table->increments('id');
$table->timestamps();
});
}

/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::drop('widgets');
}
}
ينشئ Laravel تلقائيا حقل المعرّف في قاعدة البيانات id ويجعله يتقدّم تلقائيا فور إدراج تسجيلة جديدة في الجدول (autoincrement) وذلك باستخدام الدّالة increments. يضيف Laravel كذلك ختمين زمنيّين لتاريخَيْ إنشاء التسجيلة وتحديثها timestamps.

سنضيف عمودا Column جديدا إلى قاعدة البيانات؛ لذا نضيف التعليمة التالية إلى دالّة up ضمن ملفّ التهجير:

$table->string('widget_name')->unique();
يضيف السّطر أعلاه عمودا جديدا للجدول باسم widget_name من نوع string ويقيّده بـunique لكي لا توجد تسجيلتان في الجدول بنفس الاسم. تصبح دالّة up في ملف التهجير بعد إضافة العمود على النحو التالي:

public function up()
{
Schema::create('widgets', function (Blueprint $table) {
$table->increments('id');
$table->string('widget_name')->unique();
$table->timestamps();
});
}
ثم ننفّذ التهجير:

php artisan migrate
ستلاحظ بعد تنفيذ الأمر إنشاءَ جدول جديد في قاعدة البيانات لديك.

بما أننا نخطّط لإدراج تسجيلات إلى قاعدة البيانات بالتطبيق فيجب أن نضيف الخاصيّة التالية إلى النموذج Widget:

/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = ['widget_name'];
تخبر هذه التعليمة Laravel أن العمود widget_name يدعم الإسناد الشّامل Mass assignment (تحديد قيم معطياتٍ عدّةٍ مرة واحدة). إن لم نضف هذه التعليمة فلن يمكننا باستخدام التطبيق إدراجُ تسجيلات جديدة في الجدول.

سنستخدم في الدرس التالي النموذج الذي أنشأناه أعلاه مع معمل النماذج Model factory في Laravel لملْء تسجيلات في جدول widgets.

الفارس غير متواجد حالياً   اقتباس
قديم 26-07-2019, 03:15 PM   #2
الصورة الرمزية هديل الحرف
تاريخ التسجيل: Jul 2019
العمر: 30
المشاركات: 504
التقييم: 10
افتراضي

بارك الله فيك
إستمر ولك التوفيق بـإذن الله
تقديري وإحترامي
هديل الحرف غير متواجد حالياً   اقتباس
أضف رد جديد

الكلمات الدلالية (Tags)
منتديات رحيل, رحيل, شبكة رحيل, r7il, r7il.com


الذين يشاهدون محتوى الموضوع الآن : 1 ( الأعضاء 0 والزوار 1)
 

تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

BB code is متاحة
كود [IMG] متاحة
كود HTML معطلة
Trackbacks are متاحة
Pingbacks are متاحة
Refbacks are متاحة


المواضيع المتشابهه
الموضوع كاتب الموضوع المنتدى مشاركات آخر مشاركة
تثبيت Laravel 5 وإعداده على Windows وUbuntu الفارس قسم تطوير المواقع ومحركات البحث والسيو Seo والووردبريس WordPress 1 27-07-2019 10:40 AM
نشر تطبيقات Laravel على منصة Heroku الفارس قسم تطوير المواقع ومحركات البحث والسيو Seo والووردبريس WordPress 1 26-07-2019 03:22 PM
كل الأنشطة الرئيسية البرمجة PHP Laravel كيف تنشئ مزود خدمة (Service provider) ف الفارس قسم تطوير المواقع ومحركات البحث والسيو Seo والووردبريس WordPress 1 26-07-2019 03:18 PM
استخدام مكتبة Morris.js لإنشاء مخططات بيانية في Laravel الفارس قسم تطوير المواقع ومحركات البحث والسيو Seo والووردبريس WordPress 1 26-07-2019 03:17 PM
استخدام معمل النماذج (Model factory) في Laravel لتوليد بيانات الاختبار الفارس قسم تطوير المواقع ومحركات البحث والسيو Seo والووردبريس WordPress 1 26-07-2019 03:16 PM


الساعة الآن 05:36 AM

 


Content Relevant URLs by vBSEO ©2010, Crawlability, Inc.