提问者:小点点

LARAVEL-选项卡视图中的编辑功能


请你帮忙。 我想在我的edit.blade.php中的不同选项卡上显示不同的申请者,我只是想知道如何才能做到这一点? 请帮帮我。

controller.php

public function edit($id)
   {
       $applications = application::where('id', $id)->first();

       return view('user.application.edit', compact('applications'));
   }

edit.blade.php

    <ul class="nav nav-tabs" role="tablist">
        <li class="nav-item">
            <a class="nav-link {{ request()->is('applicant1') ? 'active' : null }}" href="{{ url('applicant1') }}" role="tab">Main Applicant</a>
        </li>
        <li class="nav-item">
            <a class="nav-link {{ request()->is('applicant2') ? 'active' : null }}" href="{{ url('applicant2') }}" role="tab">Applicant 2</a>
        </li>
        <li class="nav-item">
            <a class="nav-link {{ request()->is('applicant3') ? 'active' : null }}" href="{{ url('applicant3') }}" role="tab">Applicant 3</a>
        </li>
    </ul><!-- Tab panes -->
<div class="tab-pane {{ request()->is('applicant1') ? 'active' : null }}" id="{{ url('applicant1') }}" role="tabpanel">
//FORM HERE
</div>

我在路由上也尝试了不同的方法。

      Route::get('applicant1', 'ApplicationController@edit')->name('application.edit');


      Route::get ('/applicant2', function () {
            return view('application.edit');});      
            
      Route::get ('/applicant3', function () {
            return view('application.edit');});            

请帮帮我。


共1个答案

匿名用户

为什么不对每个申请者元素使用foreach?

在您的控制器中

public function edit($id)
{
    $applications = application::all();

    return view('user.application.edit', compact('applications'));
}

我认为:

<ul class="nav nav-tabs" role="tablist">
@foreach($applications as $applicant)
    <li class="nav-item">
        <a class="nav-link {{ request('id') == $applicant->id ? 'active' : ''}}" href="{{ route('application.edit', $applicant->id) }}" role="tab">Main Applicant</a>
    </li>
@endforeach
</ul>
<div class="tab-content" id="myTabContent">
@foreach($applications as $applicant)
    // the rest of panels
    <div class="tab-pane fade show {{ request('id') == $applicant->id ? 'active' : '' }}" id="tab-{{ $loop->iteration }}" role="tabpanel"></div>
@endforeach
</div>

在routes.php中

Route::get('applicants/{id}', 'ApplicationController@edit')->name('application.edit');