Skip to main content

الدرس السادس: انشاء الأتصال بقاعدة البيانات Connecting to database with Laravel

الجزء 6: أنشاء أتصال بقاعدة البيانات

في الجزء الخامس من تعلم Laravel 5 , أدرجنا معلومات الأخبار بصورة مباشرة اي بدون استخدام قاعدة بيانات معينة, في هذا الدرس سنتعلم كيف ننشأ قاعدة بيانات بسيطة من نوع File-Based database, وكيف ندرج معلومات فيها واسترجاع البيانات منها , والأتصال بها.

اول شيء يجب اعداد الأتصال بأي قاعدة بيانات في الLaravel عن طريق ملف database.php الموجود في مجلد config:
Config/database.php

سأستخدم قاعدة بيانات الsqlite لكونها بسيطة:


بما ان قاعدة بيانات الsqlite من نوع file-based database فأننا نكتفي بأنشاء ملف مع أمتداد .sqlite ونضعهُ في مجلد الstorage والأشارة اليه في أعدادت الأتصال كالأتي:


في الLaravel لأنشاء جدول للأخبار ‘news’ يجب اولاً انشاء ملف migration عن طريق artisan,  حيث يحتوي ملف الmigration على دالتين لأنشاء الجدول ودالة اخرى لأسترجاع ماحدث اي حذف ماتم انشاءهُ.


قبل تنفيذ دالة انشاء جدول ‘news’ في ملف الmigration يجب تعديل الحقول المراد اضافتها في جدول الأخبار مثلاً اريد اضافة حقل لعنوان الخبر من نوع string وأضافة حقل اخر من نوع text لمحتوى الخبر وبعد ذلك قمتُ بتنفيذ تلك الدالة عن طريق الأمر التالي  php artisan migrate كالأتي:


ملاحظة: في ملف الmigration  يوجد دالتين دالة اسمها up ودالة اخرى اسمها down , عند تنفيذ الأمر اعلاه تم تنفيذ دالة الup والتي تعني انشاء الجدول, اما لتنفيذ الدالة الثانية (down) فأن الجدول سيتم حذفه, لتنفيذ دالة down عن طريق كتابة الأمر التالي:
php artisan migrate:rollback

لغاية الأن تم اعداد الأتصال بقاعدة البيانات في الLaravel , انشئتُ قاعدة البيانات SQLite , انشئتُ ملف الmigration الذي عن طريقة انشئتُ جدول للأخبار, بعد هذه الخطوة سنتعلم كيف ندرج معلومات بتلك القاعدة,

عن طريق artisan  وبأستخدام tinker يمكن التحكم بمتغيرات الLaravel لكن مانحتاجه الأن هو ادراج معلومات كالأتي:

اول شيء يجب استخدام الtinker عن طريق كتابة الأمر التالي:
php artisan tinker
لأضافة بيانات في جدول الأخبار عن طريق كتابة الأمر التالي:
DB::table(‘news’)->insert([‘title’=>’Free Session for Learning Laravel 5’,’content’=>’This Session Provided by Safaa Al-Hayali’,’created_at’=>new DateTime,’updated_at’=>new DateTime]);
لأسترجاع كافة البيانات من جدول الأخبار عن طريق الأمر التالي:
DB::table(‘news’)->get();
لأسترجاع سجل محدد من جدول الأخبار عن طريق الأمر التالي:
DB::table(‘news’)->find({IDENTIFIER});


سأعمل تغيير بسيط في الcontrollers والviews لأسترجاع البيانات من قاعدة البيانات وأظهارها في الواجهات, لأسترجاع البيانات سأقوم بتعديل ملف الcontroller الخاص بالأخبار كالأتي:


ملاحظة: الDB يوجد في المسار التالي: App\Http\Controllers\DB فبدل ان اكتبه في كل مرة سأقوم بأستخدام الnamespace  الخاص به عن طريق كتابه use DB;  ومن ثمة تعديل كلا الدالتين لأسترجاع البيانات من قاعدة البيانات وتمريرها للواجهات.

في دالة الindex تم تمرير كافة البيانات من قاعدة البيانات على شكل مصفوفة كائنات لكل سجل, للواجهة news.index
ومن ثمة يجب تعديل الواجهة index المتلقية مصفوفة الكائنات واظهارها كالأتي:

وفي دالة الshow($id) في الcontroller الخاص بالأخبار يتم استرجاع سجل واحد حسب الid , ويمرر هذا السجل للواجهة news.show ,في تلك الواجهة يتم اظهار الخصائص الخاصة بذلك الكائن كالأتي:


النتيجة النهائية لهذا الدرس كالأتي:






Comments

Popular posts from this blog

PART #2: Registration and Login System Tutorial Using PHP and MYSQL

PART #2: Registration and Login System Tutorial Using PHP and MYSQL Registration and login system using PHP and MySQL database, in this part you will do the following: 1- Creating the registration page. 2- Validating the registration form. 3- Sending the activation link on successful registration. note: you can find the mailserver tool here: [MailServerTool] Good luck. PHP,Mysql,Programming,web development,How to,Technology,web programming,web project ideas,safaa al-hayali,saf3al2a,Registration and login,Registration and login in php,php and mysql login system,registration system using php and mysql,login and register php,login and register php with database,database,php tutorial,learn php,tutorial

How To Play .srt Subtitles File in Windows Media Player

How To Play .srt Subtitles File in Windows Media Player links: https://sourceforge.net/projects/wmpsub/ wmp,.srt Subtitles File in Windows Media Player,How To Play .srt Subtitles File in Windows Media Player,How To,Safaa Al-Hayali,saf3al2a,srt subtitle in WMP,Windows,Windows Media Player,media,.ass,local subtitles

Virtual Box : How to Increase Disk Size - Windows

How to increase disk size or disk storage in oracle virtual box the command you have to use: vboxmanage.exe modifymedium "[YourPathToVdiFileOfYourVirtualMachine]" --resize [NUMBER] virtual,box,vbox,oracle,partition,size,disk,increase,resize,windows,10,microsoft,vdi,vboxmanage,configuration,Safaa AL-Hayali,saf3al2a,Oracle,VirtualBox,How to,windows 10