norman-huth/nova-breack-out

使用Laravel Nova资源中的验证规则和其他数据。

v1.0.0 2023-11-26 14:08 UTC

This package is auto-updated.

Last update: 2024-09-26 16:41:13 UTC


README

使用Laravel Nova资源中的验证规则和其他数据,以避免重复内容维护。

对于包的名称,我的创意水平较低。

安装

composer require norman-huth/nova-breack-out

使用方法

验证

从Nova资源获取创建验证规则

    public function store(\Illuminate\Http\Request $request)
    {
        $nova = new \NormanHuth\NovaBreakOut\Resource($request);

        $rules = $nova->getRulesForCreation(
            model: \App\Models\User::class,
            resource: \App\Nova\Resources\User::class
        );

使用来自Nova资源的创建规则验证请求

    public function store(\Illuminate\Http\Request $request)
    {
        $nova = new \NormanHuth\NovaBreakOut\Resource($request);

        $validated = $nova->validateCreationRequest(
            model: \App\Models\User::class,
            resource: \App\Nova\Resources\User::class
        );

从Nova资源获取更新验证规则

    public function update(\Illuminate\Http\Request $request, \App\Models\User $user)
    {
        $nova = new \NormanHuth\NovaBreakOut\Resource($request);

        $rules = $nova->getRulesForUpdate(
            model: $user,
            resource: \App\Nova\Resources\User::class
        );

使用来自Nova资源的更新规则验证请求

    public function update(\Illuminate\Http\Request $request, \App\Models\User $user)
    {
        $nova = new \NormanHuth\NovaBreakOut\Resource($request);

        $validated = $nova->validateUpdateRequest(
            model: $user,
            resource: \App\Nova\Resources\User::class
        );

来自Nova资源的授权

查看所有

    public function index(\Illuminate\Http\Request $request)
    {
        $nova = new \NormanHuth\NovaBreakOut\Resource($request);
        $nova->authorizeToViewAny(
            model: \App\Models\User::class,
            resource: \App\Nova\Resources\User::class
        );

创建

    public function store(\Illuminate\Http\Request $request)
    {
        $nova = new \NormanHuth\NovaBreakOut\Resource($request);
        $nova->authorizeToCreate(
            model: \App\Models\User::class,
            resource: \App\Nova\Resources\User::class
        );

查看

    public function show(\Illuminate\Http\Request $request, \App\Models\User $user)
    {
        $nova = new \NormanHuth\NovaBreakOut\Resource($request);
        $nova->authorizeToView(
            model: $user,
            resource: \App\Nova\Resources\User::class
        );

更新

    public function update(\Illuminate\Http\Request $request, \App\Models\User $user)
    {
        $nova = new \NormanHuth\NovaBreakOut\Resource($request);
        $nova->authorizeToUpdate(
            model: $user,
            resource: \App\Nova\Resources\User::class
        );

删除

    public function destroy(\Illuminate\Http\Request $request, \App\Models\User $user)
    {
        $nova = new \NormanHuth\NovaBreakOut\Resource($request);
        $nova->authorizeToDelete(
            model: $user,
            resource: \App\Nova\Resources\User::class
        );

从Nova资源获取更多信息

获取资源的可显示标签。

$nova = new \NormanHuth\NovaBreakOut\Resource($request);

return $nova->label(resource: \App\Nova\Resources\User::class);

获取资源的可显示单数标签。

$nova = new \NormanHuth\NovaBreakOut\Resource($request);

return $nova->singularLabel(resource: \App\Nova\Resources\User::class);

获取应显示以表示资源的值。

$nova = new \NormanHuth\NovaBreakOut\Resource($request);

return $nova->title(resource: \App\Nova\Resources\User::class);

获取资源的搜索结果副标题。

$nova = new \NormanHuth\NovaBreakOut\Resource($request);

return $nova->subtitle(resource: \App\Nova\Resources\User::class);

获取与资源关联的逻辑组。

$nova = new \NormanHuth\NovaBreakOut\Resource($request);

return $nova->group(resource: \App\Nova\Resources\User::class);

获取资源的可搜索列。

$nova = new \NormanHuth\NovaBreakOut\Resource($request);

return $nova->searchableColumns(resource: \App\Nova\Resources\User::class);

待办事项

  • 关系规则

More Laravel Nova Packages

Stand With Ukraine

Woman. Life. Freedom.