مشاهده دست آورد نظرسنجی: آیا از این آموزش رضایت دارید؟

رای دهنده
83. شما نمی توانید در این رای گیری رای بدهید
  • بلی

    79 95.18%
  • خیر

    4 4.82%
نمایش نتایج 1 تا 40 از 106

نام تاپیک: آموزش Laravel 5

Threaded View

پست قبلی پست قبلی   پست بعدی پست بعدی
  1. #8
    کاربر دائمی آواتار hamedarian2009
    تاریخ عضویت
    بهمن 1389
    محل زندگی
    گرگان
    پست
    1,691

    نقل قول: آموزش Laravel 5

    کار با Schema Builder و Migration

    در هنگام ایجاد migration می توانید نام جدول را هم در دستور مشخص کنید .
    php artisan make:migration create_users_table --create=users

    برای نامگزاری فایل migration معمولا از یک نام با مسما که نشانده عملیات موردنظرمان است استفاده میکنیم مثلا برای افزودن یک ستون جدید به نام votes در جدول users به این صورت فایل را نامگزاری و ایجاد میکنیم :
    php artisan make:migration add_votes_to_users_table --table=users


    بعضی از عملیات های دیتابیس ممکن است مخرب باشند و هنگامی در جداول دیتابیس داده ای وجود داشته باشد باعث از بین رفتن برخی داده ها شود برای محافظت از این خطرات از دستور migaret به صورت زیر استفاده کنید و در پایان آن force-- را قرار دهید :
    php artisan migrate --force


    همانطور که در پست قبل دیدید از دستور rollback استفاده کردیم که این دستور روی آخرین عملیات migration عمل میکند. برای اینکه همه عملیات ها را rollback کنیم از دستور migrate:reset استفاده میکنیم و در صورتی که بخواهیم همه عملیات ها rollback و سپس دوباره اجرا شوند از migrate:refresh استفاده میکنیم.

    php artisan migrate:resetphp artisan migrate:refresh


    فرض کنید میخواهیم ستون ایمیل را به جدول users اضافه کنیم ابتدا فایل migration ای ایجاد و سپس در متد up آن دستور زیر را می نویسیم :
    Schema::table('users', function($table)
    {
    $table->string('email');

    //$table->string('name')->after('email');});

    در متد down هم دستورات زیر را قرار میدهیم :

    Schema::table('users', function($table)
    {
    $table->dropColumn('email');

    });

    حالا با اجرای دستور php artisan migrate ستون موردنظر ایجاد خواهد شد. همچنین می توانیم با استفاده از after آن را بعد از ستون خاصی در دیتابیس قرار دهیم وگرنه به انتهای جدول افزوده می شود.
    همانطور که در پست قبل هم گفتم متدهای بسار زیادی برای تعریف ستون ها وجود دارد که می توانید از اینجا با هرکدام آشنا شوید.

    برای تغییر نام جدول از متد rename از کلاس Schema مانند مثال اول در زیر استفاده کنید. با استفاده drop هم می توانیم جدولی را حذف کنیم و dropIfExists هم ابتدا بررسی میکند اگر جدول وجود داشت آن را حذف میکند.

    Schema::rename($from, $to);
    Schema::drop('users');

    Schema::dropIfExists('users');


    برای ویرایش یک ستون ابتدا بایستی مطمئن شوید که وابستگی doctrine/dbal روی فریمورک نصب شده باشد در غیر اینصورت مانند زیر عمل کنید:
    در بخش require فایل composer.json آن را اضافه کرده :

    "require": {
    "laravel/framework": "5.0.*",
    "illuminate/html": "~5.0",
    "doctrine/dbal": "2.5.*",
    },

    سپس از دستور composer update در ترمینال برای نصب این وابستگی استفاده کنید.

    همانند مثال زیر می توانیم یک ستون را ویرایش کنیم. در مثال زیر طول ستون name را به ۵۰ کاراکتر تغییر داده و آن را قابل NULL بودن تعریف میکنیم:
    Schema::table('users', function($table)
    {
    $table->string('name', 50)->nullable()->change();
    });


    برای افزودن کلید خارجی به یک جدول هم به این صورت عمل میکنیم :
    $table->integer('user_id')->unsigned();
    $table->foreign('user_id')->references('id')->on('users');

    ابتدا یک ستون unsigned عددی به نام user_id ایجاد کردیم و سپس در پایین آن را کلید خارجی تعریف کردیم و گفتیم که مرجعی از ستون id از جدول users می باشد.
    همچنین می توانیم خاصیت onDelete آن راهم تعیین کنیم :
    $table->foreign('user_id')
    ->references('id')->on('users')
    ->onDelete('cascade');


    برای حذف کلید خارجی هم همانند مثال زیر عمل میکنیم :
    $table->dropForeign('posts_user_id_foreign');



    با استفاده از متد hasTable می توانیم بررسی کنیم آیا جدول موردنظر وجود دارد یا خیر و یا با استفاده از متد hasColumn بررسی کنیم در جدول موردنظر ستون های موردنظرمان وجود دارد یا خیر:
    if (Schema::hasTable('users'))
    {
    //
    }

    if (Schema::hasColumn('users', 'email'))
    {
    //
    }


    برای افزودن و حذف ایندکس می توانیم همانند مثال های زیر عمل کنیم :

    $table->string('email')->unique();
    $table->dropUnique('email');


    برای حذف ستونهای زمانی هم مانند مثال های زیر عمل کنید:

    $table->dropTimestamps();
    $table->dropSoftDeletes();

    همچنین می توانیم موتور ذخیره سازی دیتابیس را هم مشخص کنیم :
    $table->engine = 'InnoDB';
    آخرین ویرایش به وسیله hamedarian2009 : دوشنبه 07 اردیبهشت 1394 در 20:52 عصر

تاپیک های مشابه

  1. درخواست آموزش فریم ورک laravel
    نوشته شده توسط Tarragon در بخش PHP
    پاسخ: 16
    آخرین پست: چهارشنبه 02 بهمن 1392, 00:17 صبح
  2. آموزش: آموزش نصب laravel بر روی wamp
    نوشته شده توسط sorroshsaket در بخش PHP
    پاسخ: 0
    آخرین پست: یک شنبه 22 دی 1392, 09:53 صبح
  3. آموزش سی شارپ
    نوشته شده توسط ehsan-ets در بخش C#‎‎
    پاسخ: 15
    آخرین پست: پنج شنبه 27 اردیبهشت 1386, 19:16 عصر
  4. آموزش کامل ASP.Net
    نوشته شده توسط mostafa_pk در بخش ASP.NET Web Forms
    پاسخ: 2
    آخرین پست: چهارشنبه 22 شهریور 1385, 18:20 عصر

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •