簡體   English   中英

laravel請求不重定向正確的頁面

[英]laravel request not redirect right page

我想基於數據庫表上的請求kelas進行過濾。 當我單擊一個過濾器時,它沒有顯示任何錯誤,但沒有顯示帶有過濾器的jadwal頁面。 它顯示了主頁,但網址正確,如lps.com/?jadwal-2

我已經從stackoverflow制作了一個名為SanitizeMiddleware的中間件,但是仍然沒有用。

這是我的路線web.php

Route::get('/', 'HomepageController@index');

Route::resource('pengumuman', 'PengumumanController');
Route::resource('jadwal', 'JadwalController');
Route::resource('rapot', 'RapotController');

這是我的JadwalController的 index()

public function index()
{
    if (request()->has('kelas')) {
        $jadwal = jadwal::where('kelas', request('kelas')); 
    } else {
        $jadwal = jadwal::all();
    }

    return view('jadwal.index')->with('jadwal',$jadwal);

    //$jadwal = jadwal::all();
    //return view('jadwal.index')->with('jadwal',$jadwal);
}

這是我的index.blade.php

<div class="container">
    <br>
    <h1>
        <strong>Jadwal Pelajaran</strong>
    </h1>
    <a href="/?kelas=1">jadwwal kelas 1</a>
    <a href="/?kelas-2">jadwal kelas 2</a>
    <a href="/?kelas-3">jadwal kelas 3</a>
    </form>
    <table class="table table-bordered">
        <thead>
            <tr>
                <th scope="col"></th>
                <th scope="col">07.00-08.00</th>
                <th scope="col">08.00-09.00</th>
                <th scope="col">09.00-10.00</th>
                <th scope="col">10.00-11.00</th>
                <th scope="col">10.00-12.00</th>
                <th scope="col">action</th>
            </tr>
        </thead>
        <tbody>
            @if(count($jadwal)>0)
                @foreach($jadwal as $jadwals)
                    <tr>
                        <th scope="row">{{$jadwals->hari}}</th>
                        <td>{{$jadwals->jamke1}}</td>
                        <td>{{$jadwals->jamke2}}</td>
                        <td>{{$jadwals->jamke3}}</td>
                        <td>{{$jadwals->jamke4}}</td>
                        <td>{{$jadwals->jamke4}}</td>
                        <td>
                            <a href="/jadwal/{{$jadwals->id}}/edit" class="btn btn-info">Edit</a>
                        </td>
                    </tr>
                @endforeach
            @else
                <p>tidak ada jadwal</p>
            @endif
        </tbody>
    </table>
</div>

這是問題的圖片:

這是我過濾之前的jadwal頁面 這是我過濾之前的jadwal頁面

在我使用request()單擊過濾器后,這是我的頁面 在我使用request()單擊過濾器后,這是我的頁面

這只是一個簡單的網址問題

如您所見,路線中將顯示jadwal列表

lps.com/jadwal

您看到的是什么問題

<a href="/?kelas=1">jadwwal kelas 1</a>
<a href="/?kelas=2">jadwal kelas 2</a>
<a href="/?kelas=3">jadwal kelas 3</a>

單擊此任何鏈接時,其重定向到

例如,如果我點擊了jadwwal kelas 1

lps.com/?kelas=1

因此,它沒有重定向到lps.com/jadwal?kelas=1

所以嘗試改變

<a href="jadwal/?kelas=1">jadwwal kelas 1</a>
<a href="jadwal/?kelas=2">jadwal kelas 2</a>
<a href="jadwal/?kelas=3">jadwal kelas 3</a>

還有最后一件事,如果您使用分頁

{{$jadwal->links()}}

這只會添加?page = yourCurrentPageNumber

但是在某些情況下,您需要過濾器和分頁

所以嘗試下面的方法

{{$jadwal->appends(request()->input())->links()}} 

它將附加所有GET Request參數

因此,如果您需要訪問kelas=1nth page ,它將起作用

希望能有所幫助

如果您正面臨並在下面發表友善的評論

討論HTML URL時, lps.com/?jadwal-2 jadwal-2只是使用名為jadwal-2的GET參數調用jadwal-2 ,根本沒有任何值。 lps.com/jadwal好, lps.com/jadwal?kelas=2 = 2好。 忘記破折號

使用/ in href屬性告訴系統從頂層路徑開始。 更改為相對,例如:

<a href="?kelas=1">jadwwal kelas 1</a>
<a href="?kelas-2">jadwal kelas 2</a>
<a href="?kelas-3">jadwal kelas 3</a>

因此,進入lps.com/jadwal頁面將導致url lps.com/jadwal?kelas=1 ,這是正確的語法和模式。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM