patinthehat / laravel-support

Laravel 5 支持类

v1.2.2 2017-04-02 11:31 UTC

This package is not auto-updated.

Last update: 2024-09-28 20:14:45 UTC


README

Laravel 5+ 的各种支持类。

####安装

使用 composer 安装

composer require patinthehat/laravel-support

#####ExtendedSeeder ExtendedSeeder 是 Seeder 类的扩展版本,提供了简单的外键检查启用/禁用和表截断功能。它还允许轻松访问 Faker

######方法

  • getFaker() - 返回 Faker\Factory 的实例(见 Faker)。
  • init($tableName, $disableForeignKeyChecks = true, $deleteAllTableEntries = true) - 在 run() 的开始处调用。
  • cleanup() - 在 run() 的末尾调用。

######示例用法

use App\Support\ExtendedSeeder;
use App\User;

class UserTableSeeder extends ExtendedSeeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
        //disable foreign key checks, delete all existing table entries
        $this->init('users', true, true); 
        //seed the table
        $text = $this->getFaker()->text();
        $this->cleanup();
    }
}

#####ExtendedMigration ExtendedMigration 是 Migration 类的扩展版本,提供了简单的外键创建/删除功能。

######方法

######示例用法

use LaravelSupport\Database\ExtendedMigration;

class CreateForeignKeys extends ExtendedMigration
{
    //define the FKs
    protected $foreignKeyDefinitions = [
        'info.author_id' => ['authors.id', 'cascade', 'cascade'],
        'info.book_id' => ['books.id', null, null],
        'table2.test_id' => 'tests.id',
        'myinfo.publisher_id' => null, //creates FK on 'publishers.id'
    ];
    
    //automatically create/delete FKs
    protected $autoCreateDefinedKeys = true;
    protected $autoDeleteDefinedKeys = true;
}

许可

LaravelSupport 在 MIT 许可证 下可用。