<?php
namespace App\Nova;
use Laravel\Nova\Fields\ID;
use Laravel\Nova\Fields\Text;
use Laravel\Nova\Fields\Textarea;
use Laravel\Nova\Fields\BelongsTo;
use Laravel\Nova\Fields\Image;
use Laravel\Nova\Fields\DateTime;
use Laravel\Nova\Http\Requests\NovaRequest;
class Post extends Resource
{
public static $model = \App\Models\Post::class;
public static $title = 'title';
public static $search = [
'id', 'title', 'content'
];
// 表单字段定义
public function fields(NovaRequest $request)
{
return [
ID::make()->sortable(),
Text::make('标题', 'title')
->rules('required', 'max:255')
->sortable()
->placeholder('请输入文章标题'),
Textarea::make('内容', 'content')
->rules('required')
->hideFromIndex()
->placeholder('请输入文章内容'),
BelongsTo::make('作者', 'user', User::class)
->searchable()
->rules('required'),
Image::make('封面图片', 'cover_image')
->disk('public')
->path('posts')
->creationRules('nullable', 'image', 'max:1024')
->updateRules('nullable', 'image', 'max:1024'),
DateTime::make('发布时间', 'published_at')
->rules('nullable', 'date')
->sortable(),
];
}
}
共有 0 - Laravel Nova 表单功能