Обновить переменный шаблон лезвия - PullRequest
0 голосов
/ 07 февраля 2019

Я пытаюсь обновить переменную, относящуюся к спринту, чтобы заполнить таблицу задачами выбранного спринта.

Это тег для выбора спринта:

@foreach($project->sprints as $s)
    <a href="#" >{{$s->version}}</a>
@endforeach

Далеетаблица задач:

@php ($sprint = null)
@if($sprint != null)
   <table class="table table-striped">
       <thead>
            <tr>
                ...
            </tr>
       </thead>
       <tbody>
            @foreach($sprints->tasks as $task)
               <tr>
                   ...
               </tr>
            @endforeach
       </tbody>            
   </table>
@else
...

Как назначить $ s для $ sprint?

1 Ответ

0 голосов
/ 07 февраля 2019

Вы должны обработать выбранный спринт в контроллере.

Предположим, вы определили:

  • Маршрут

    Route::get('/project/{projectId}', [
        'uses' => 'ProjectController@show',
        'as' => 'showProject'
    ])
    
  • Контроллер

    namespace App\Http\Controllers;
    
    use App\Http\Controllers\Controller;
    use Illuminate\Http\Request;
    use App\Project;
    
    class ProjectControllerextends Controller
    {
        public function show(int $projectId, Request $request)
        {
            $project = Project::with(['sprints.tasks'])->find($projectId);
    
            $selectedSprint = $request->query('selectedSprint')
    
            if (!empty($selectedSprint)) {
                $selectedSprint = $project->sprints->first(function($sprint) use ($selectedSprint) {
                    return $sprint->id === (int) $selectedSprint;
                });
            }
    
            return view('projects.show', ['project' => $project, 'selectedSprint' => $selectedSprint]);
        }
    }
    
  • Просмотр

    @foreach($project->sprints as $s)
        <a href="{{route('showProject', ['projectId' => $project->id, 'selectedSprint' => $s->id])}}">
            {{$s->version}}
        </a>
    @endforeach
    
    @if($selectedSprint != null)
       <table class="table table-striped">
           <thead>
                <tr>
                    ...
                </tr>
           </thead>
           <tbody>
                @foreach($selectedSprint->tasks as $task)
                   <tr>
                       ...
                   </tr>
                @endforeach
           </tbody>            
       </table>
    @else
    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...