定义资源

通过安装 laravel nova已经了解了 nova 的安装。

下面通过简单的文章增删改查来展示 nova 的高效开发后台。

建立模型和数据文件

php artisan make:model Post -m

执行完上面的命令会建立两个文件,分别是app/Post.phpdatabase/migrations/2019_03_07_091258_create_posts_table.php文件。

修改2019_03_07_091258_create_posts_table.php数据库迁移文件的内容:

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

修改完迁移文件后,使用命令将迁移文件应用到数据库

php artisan migrate

建立 nova 资源文件

php artisan nova:resource Post

可以看到,新增页面没有任何的表字段可以添加。

命令运行完命令后会添加app/Nova/Post.php,可以通过修改其中的fields方法返回值:

use Laravel\Nova\Fields\Text;
use Laravel\Nova\Fields\Markdown;
public function fields(Request $request)
{
    return [
        ID::make()->sortable(),
        Text::make('Title')->rules('required')->sortable(),
        Markdown::make('Body')->rules('required'),
    ];
}

再次查看新增页面可以看到如下的输出。

至此,一个简单的 Posts 管理界面开发完毕,后面再对这些 CURD 界面进行一些定制化开发。

参考链接