0

这是我第一次使用刀片,我对此有点困惑。我需要显示一个类似于 Voyager 中默认编辑添加视图的表单,但我需要显示一些基于角色的输入。我正在按登录的当前用户进行过滤并且工作正常,但我需要基于此隐藏/显示表单的一些输入。

如何在刀片视图中完成此操作?

以下是 Voyager 在刀片视图中获取数据的方式:

@php
$dataTypeRows = $dataType->{(isset($dataTypeContent->id) ? 'editRows' :'addRows' )};
@endphp

@foreach($dataTypeRows as $row)
    <!-- GET THE DISPLAY OPTIONS -->
    @php
        $options = json_decode($row->details);
        $display_options = isset($options->display) ? $options->display : NULL;
    @endphp
    @if ($options && isset($options->formfields_custom))
        @include('voyager::formfields.custom.' . $options->formfields_custom)
    @else
        <div class="form-group @if($row->type == 'hidden') hidden @endif @if(isset($display_options->width)){{ 'col-md-' . $display_options->width }}@else{{ '' }}@endif" @if(isset($display_options->id)){{ "id=$display_options->id" }}@endif>
            {{ $row->slugify }}
            <label for="name">{{ $row->display_name }}</label>
            @include('voyager::multilingual.input-hidden-bread-edit-add')
            @if($row->type == 'relationship')
                @include('voyager::formfields.relationship')
            @else
                {!! app('voyager')->formField($row, $dataType, $dataTypeContent) !!}
            @endif

            @foreach (app('voyager')->afterFormFields($row, $dataType, $dataTypeContent) as $after)
                {!! $after->handle($row, $dataType, $dataTypeContent) !!}
            @endforeach
        </div>
    @endif
@endforeach

如果我的表“示例”包含:id、姓名、地址和电话。如何在此视图表单中仅显示姓名和地址的输入?

提前致谢。

4

3 回答 3

1

你应该试试这个:

public function edit(Request $request, $id)
{
    $user = Example::find($id);
    return view(‘viewname’,compact(‘user’));
}

edit-add.blade.php
<input type = “text” name=”name” value=”@if(isset($user->name)){{ old('name', $user->name) }}@else{{old('name')}}@endif”&gt;

<input type = “text” name=”name” value=”@if(isset($user->address)){{ old('address', $user->address) }}@else{{old('address')}}@endif”&gt;
于 2018-03-12T06:38:19.617 回答
0

我无法理解您的意思,但首先要在视图中显示输入值,您应该将值发送到视图,例如在您拥有的控制器中:

public function test()
{
  .....
  return view('myView',compact('user'));
}

那么在你看来:

<input type="text" value"{{$user->address}}">
<input type="text" value"{{$user->first_name}}">
于 2018-02-08T01:57:06.627 回答
0

您可以在不使用任何代码的情况下从管理员界面编辑它只需转到设置菜单并单击面包

于 2018-05-21T19:11:56.500 回答