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

路径未定义如何解决

路径未定义如何解决

PHP
慕沐林林 2023-10-22 21:58:24
每当我运行程序时,都会收到错误“路线 [userproductss.prdtview] 未定义。(视图:D:\xampp\htdocs\E-commerce\resources\views\layouts\includes\top.blade.php)”。代码如下刀刃:<ul>    <li class="active"><a href="">Home</a></li>    @foreach($categories as $category)        <li><a href="#">{{$category->cat_name}}</a>        <ul class="dropdown">            @foreach($subcat as $sub_cat)            @if($sub_cat->cat_id == $category->id)            <li><a href="{{ route('userproduct.prdtview',$sub_cat->id) }}"><?php echo $sub_cat->sub_cat_name; ?></a></li>            @endif            @endforeach        </ul>    </li>    @endforeach                        </ul>网页.phpRoute::resource('userproduct', 'UserProductController');控制器:public function prdtview($id){    $data=DB::select('select category.cat_name,product_images.prdt_image,product.prdt_name,product.actual_price from product INNER JOIN category on product.catid = category.id INNER JOIN product_images on product.id = product_images.prdt_id where product.sub_cat_id = $id ');    return view("frontend.product",[        'data' => $data    ]);}
查看完整描述

2 回答

?
哈士奇WWW

TA贡献1799条经验 获得超6个赞

该错误是不言自明的,您尚未为您的函数定义路径prdtview。请记住,每当您创建资源控制器并定义其路由时,就会自动创建以下函数及其路由。


  /**

     * Display a listing of the resource.

     *

     * @return \Illuminate\Http\Response

     */




    public function index()

    {


    }


    /**

     * Show the form for creating a new resource.

     *

     * @return \Illuminate\Http\Response

     */

    public function create()

    {

        //

    }


    /**

     * Store a newly created resource in storage.

     *

     * @param  \Illuminate\Http\Request  $request

     * @return \Illuminate\Http\Response

     */

    public function store(Request $request)

    {

        //

    }


    /**

     * Display the specified resource.

     *

     * @param  int  $id

     * @return \Illuminate\Http\Response

     */

    public function show($id)

    {

        //

    }


    /**

     * Show the form for editing the specified resource.

     *

     * @param  int  $id

     * @return \Illuminate\Http\Response

     */

    public function edit($id)

    {

        //

    }


    /**

     * Update the specified resource in storage.

     *

     * @param  \Illuminate\Http\Request  $request

     * @param  int  $id

     * @return \Illuminate\Http\Response

     */

    public function update(Request $request, $id)

    {

        //

    }


    /**

     * Remove the specified resource from storage.

     *

     * @param  int  $id

     * @return \Illuminate\Http\Response

     */

    public function destroy($id)

    {

        //

    }


对于您希望路由使用的任何其他方法,您必须创建一个方法并且必须为其定义一个路由,就像您的prdtview函数必须显式定义一个路由一样。


Route::get('/prdtview/{id}','UserProductController@prdtview')->name('userproduct.prdtview);

现在,当请求到达此路由时,它将被转发到您的prdtview函数。


您现在可以在 Blade 中调用您的路线,例如


route('userproduct.prdtview', ['id' => $sub_cat->id]);


查看完整回答
反对 回复 2023-10-22
?
ibeautiful

TA贡献1993条经验 获得超5个赞

Laravel 在使用时定义默认路由名称resource。

查看完整回答
反对 回复 2023-10-22
  • 2 回答
  • 0 关注
  • 123 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信