دورة laravel للمبتدئين الدرس الثالت


فهاد الدرس الثالت من دورة laravel  للمبتدئين غادي نكملوا الدورة ديالنا غادي نشوفوا كيفاش نزيدو قاعدة بيانات ف phpmyadmin من بعد غادي نديرو la connexion معاها ونزيدو des tables باستعمال laravel migrations منبعد غادي يكون عندنا أول احتكاك مع les models.


1- إضافة قاعدة البيانات

غادي تمشي ل phpmyadmin غادي تزيد قاعدة بيانات جديدة سميها لي بغيتي انا سميتها  lara-project-base.

منبعد غاي نديرو la connexion مع قاعدة البيانات ديالنا غادي نمشي للملف env. تما فين كندير la connexion فعندي :

- DB_DATABASE لي كتاخذ اسم قاعدة البيانات هنا حددنا الإسم ديال قاعدة البيانات ديالنا.
- DB_USERNAME هنا عندي اسم المستخدم ولي par défaut كيكون root يلا بدلتيه دخل الإسم لي عندك.
- DB_PASSWORD هنا عندي كلمة المرور فيلا كنتي داير كلمة مرور ل phpmyadmin دخلها مكنتيش خليها خاوية.

الكود لي زدنا ف env. هو :

                                //.env 

DB_DATABASE=lara-project-base
DB_USERNAME=root
DB_PASSWORD=
                            

2- إضافة les tables باستعمال laravel migration

فباش نزيد les tables فقاعدة البيانات لي زدنا غادي نمشي ل cmd
غادي ندير ل commande كيف كنشوف فالصورة :



فهنا كن créer le fichier لي غادي يمكن باش نزيد table سميتها posts غادي نمشي ل databases/migrations تما غادي نلقى ل fichier create_posts_table.
فعندي Schema::create لي كتمكن باش ن créer table هنا عطيناها posts وداخلها كنزيد الحقول لي غادي يكونوا عندي.

فكاين id لي هو auto increment ثم زدت انا title ول body لي عطيتهم type string و text.

فقبل منزيد la table غادي تمشي ل app/providers/AppServiceProvider.php وفل fonction boot غادي تزيد هاد السطر :

                       Schema::defaultStringLength(191);

فباش نزيد la table posts فقاعدة البيانات غادي ندير la commande :

php artisan migrate 

فيلا مشيتي ل phpmydmin ودخلتي لقاعدة البيانات لي زدنا غادي تلقى la table posts تزادت بالإضافة ل les tables آخرين لي كاين les migrations ديالهم par défaut.

الكود ديال ل migration هو : 

                                <?php

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

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

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('posts');
    }
}
                            

3- إضافة ل model Post

فباش يمكن نزيد معلومات ف la table posts غادي نزيد ل model لي هو لي كيمكني باش نتعامل مع قواعد البيانات فكل table لازم ما نزيد model خاص بها.

باش نزيد ل model غادي نمشي ل cmd غادي نزيد ل commande :

php artisan make::model Post 

فهنا كنزيد ل model Post غادي نمشي ل app غادي نلقاه تزاد.

الكود لي عندي ف Post.php هو :

                                <?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Post extends Model
{
    //
}