morbihanet/modeler

为 Laravel 5.8 及以上版本提供的动态模型

v1.5.1 2020-11-20 07:46 UTC

README

Build Status

使用说明

此包包含一个类,可以轻松创建动态模型而无需迁移。

安装此包后,您可以执行以下操作

<?php
namespace App\Models;

use Morbihanet\Modeler\Modeler;

class Book extends Modeler {}
<?php
namespace App\Models;

use Morbihanet\Modeler\Modeler;

class Author extends Modeler {}
<?php
use App\Models\Author;
use App\Models\Book;

$author = Author::create(['lastname' => 'Hugo', 'firstname' => 'Victor']);

Book::create(['title' => 'Notre Dame de Paris', 'author_id' => $author->id]);
<?php
namespace App\Http\Controllers;

use App\Models\Author;
use App\Models\Book;

class HomeController extends Controller 
{
    public function index()
    {
        $victorHugo = Author::find(1);
        $books = $victorHugo->books;

        return view('home', compact('victorHugo', 'books'));
    }
}

安装

此包可用于 Laravel 5.8 或更高版本。

此包会发布一个 config/modeler.php 文件。如果您已存在同名文件,您必须重命名或删除它。

您可以通过 composer 安装此包

composer require morbihanet/modeler

可选:服务提供者将自动注册。或者,您也可以在 config/app.php 文件中手动添加服务提供者

'providers' => [
    // ...
    Morbihanet\Modeler\ModelerServiceProvider::class,
];

您应该使用以下命令发布迁移和 config/modeler.php 配置文件

php artisan vendor:publish --provider="Morbihanet\Modeler\ModelerServiceProvider"

运行迁移:在配置和迁移发布并配置后,您可以通过运行以下命令创建此包的表

php artisan migrate