Лезвие показывает что-нибудь - PullRequest
0 голосов
/ 01 ноября 2019

Я пытаюсь создать индексную страницу, но по какой-то причине она ничего не показывает. Это мои маршруты

Route::get('/home', 'HomeController@index')->name('home');
Route::resource('student','StudentsController');
Route::resource('student/absense','AbsensesController');

, как вы видите, я использую ресурсы, поэтому мои маршруты уже созданы.

Это мой контроллер

public function index()
    {
        return view('student.absense.index');

            }

    /**

Мой взгляд - это нечтонапример:

@extends('layouts.app')

@section('content')

<table class="table ">
  <thead>
    <tr>
      <th scope="col">#</th>
      <th scope="col">Prenome</th>
      <th scope="col">Nom</th>
      <th scope="col">Niveau</th>
      <th scope="col">group</th>
      <th scope="col">Payment date End</th>
      <th scope="col"> More options</th>
    </tr>
  </thead>
  <tbody>



    <tr>

      <th scope="row"></th>
    </tr>

</tbody>

</table>
@endsection

И это маршрут, который я получаю в cmd:

|        | GET|HEAD  | student/absense                | absense.index    | App\Http\Controllers\AbsensesController@index

Получаемая страница пуста без каких-либо ошибок. любая идея почему?

Кстати, индекс находится внутри папки absense, а папка absense - внутри папки студента.

Ответы [ 3 ]

0 голосов
/ 01 ноября 2019

Он пытается найти студента с идентификатором absense, который не найден, измените ваши маршруты на

Route::get('/home', 'HomeController@index')->name('home');
Route::get('student/absense', 'AbsensesController@index');
Route::resource('student', 'StudentsController');

Учитывая AbsensesController вот так

<?php

namespace App\Http\Controllers;

class AbsensesController extends Controller
{
    public function index()
    {
        return view('student.absense.index');
    }
}

И просмотрите каталогструктура, как это

enter image description here

Надеюсь, это поможет

0 голосов
/ 01 ноября 2019

Возник конфликт с порядком ваших маршрутов:

Вы добавляете

Route::resource('student','StudentsController');

Ресурс добавляет следующий маршрут показа:

student/{student}

Тогдавы добавляете

Route::resource('student/absense','AbsensesController');

Ресурс добавляет следующий индексный маршрут:

student/absense

Но поскольку маршрутизация student предшествует маршрутизации student/absense, вы никогда не получите доступ к индексному маршрутуно student/{student} потому что {student} подстановочный знак перехватывает student/absense и вводит маршрут StudentController@show.

Переключение определения маршрута должно решить проблему:

Route::resource('student/absense','AbsensesController');
Route::resource('student','StudentsController');

Или вы можете добавитьдефис, чтобы вы никогда не столкнулись с конфликтом:

Route::resource('student','StudentsController');
Route::resource('student-absense','AbsensesController');
0 голосов
/ 01 ноября 2019

С этим утверждением:

  return view('student.absense.test');

Вы пытаетесь загрузить файл внутри отсутствующей папки с именем test, но здесь:

Btw **index** is inside absense folder and absense folder is inside student folder.

вы говорите, что у вас естьфайл с именем index внутри этой папки, а не тест. Я думаю, именно поэтому вы не получаете то, что вы хотите.

Переименуйте файл индекса в папке absense для тестирования или файл теста, который вы объявили в функции индекса, от test до index.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...