为了账号安全,请及时绑定邮箱和手机立即绑定

Laravel 排序购物清单前端

Laravel 排序购物清单前端

PHP
BIG阳 2023-03-04 17:01:48
我正在为一个大学项目开店。这是我在网络开发方面的第一门课程,我不明白如何通过 laravel 中的 html 下拉选择对购物列表页面进行排序。前端刀片<div class="toolbar-sorter">  <span>Sort By</span>  <select name="sorter" class="sorter-options"  style="width:150px; "data-role="sorter">    <option selected="selected" value='comic_name'>Titolo: A-Z </option>    <option value='comic_name'> Titolo: Z-A </option>    <option value='price'> Prezzo: Crescente </option>    <option value='price'> Prezzo: Decrescente </option>    <option value='created_at'> Ultimi Arrivati </option>  </select></div>Route.php(这不是shoplist的唯一路由)Route::get('/shoplist', 'ComicController@shoplistBase');漫画控制器public function shoplistBase(){    $genres = Genre::all();    $comics = Comic::paginate(9);    return view('shoplist')->with(compact('genres'))->with(compact('comics'));}
查看完整描述

1 回答

?
慕的地8271018

TA贡献1796条经验 获得超4个赞

假设您使用相同的路线进行排序:


将您的下拉菜单包装在一个表单中


确保为每个选项使用唯一值


<form action="/shoplist" method="GET">

    <div class="toolbar-sorter">

        <span>Sort By</span>

        <select name="sorter" class="sorter-options" style="width:150px; " data-role="sorter">

            <option selected="selected" value='comic_name_asc'>Titolo: A-Z</option>

            <option value='comic_name_desc'> Titolo: Z-A</option>

            <option value='price_asc'> Prezzo: Crescente</option>

            <option value='price_desc'> Prezzo: Decrescente</option>

            <option value='created_at'> Ultimi Arrivati</option>

        </select>

    </div>

    <button type="submit">Filter</button>

</form>

在您的控制器中处理过滤器请求


    public function shoplistBase(Request $request)

    {

        $genres = Genre::all();

        if ($request->has('sorter')){

            switch($request->get('sorter')){

                case `comic_name_asc`:

                    $comics = Comic::orderBy('name', 'desc')->paginate(9);

                    break;

                case `comic_name_desc`:

                        //..

                    break;

            }

        } else {

            $comics = Comic::paginate(9);

        }


        return view('shoplist')->with(compact('genres'))->with(compact('comics'));

    }


查看完整回答
反对 回复 2023-03-04
  • 1 回答
  • 0 关注
  • 99 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号