Laravel在一个视图中设置更新、创建和列表模式状态的最佳方法

4sup72z8  于 2023-01-03  发布在  其他
关注(0)|答案(1)|浏览(111)

我有一个用于创建和修改数据的form.blade.php,在那个表单中,有时我必须只在编辑状态下显示额外的字段,而在创建状态下,它们应该隐藏。我尝试在每个方法中定义变量$mode,值为editcreate,它工作正常。’’’’’从你的观点来看,这似乎是一个糟糕的解决方案,我想和你商量一下如何能用一个更好的方法来解决这个问题

我在控制器中做什么

public function edit($id)
{
    $tag = Tag::find($id);
    $mode = 'edit';

    return view('tag.edit', compact('tag', 'mode'));
}

public function create()
{
    $tag = new Tag();
    $mode = 'create';
    return view('tag.create', compact('tag', 'mode'));
}

比剑的形状更美

@if($mode == 'edit')
   ....
@else 
   ....
@endif

你觉得有更好的办法吗?

uqcuzwp8

uqcuzwp81#

由于创建模式和编辑模式是分开的,因此可以在包含窗体刀片时立即发送模式
tag.edit.blade.php

@include('tag.form', ['mode' => 'edit'])

tag.create.blade.php

@include('tag.form', ['mode' => 'create'])

因此,您不必在控制器中指定它。

相关问题