如何在Laravel中的URL中传递值

伊斯兰教|

我想单击“查看详细信息”按钮,然后转到另一个页面“ / viewdeail / id = 2”,此处id = 2是来自“查看详细信息”按钮的单击。到目前为止,我已经准备好了这段代码。

控制器:

public function schooldetailviewid($school_id)
     {
        return view('viewdeail/school_id={$school_id}', compact('school_id'));
     }

路线

Route::get('/viewdeail/school_id={school_id}', 'ViewController@schooldetailviewid')->name('schooldetail');

我对如何解决这个问题感到非常困惑。

里扎德先生

使用Laravel,如果需要在路由中传递必需的参数,则需要将其指定到routes/web.php文件中,并从控制器操作中获取它。

这是这样做的常用方法:

// routes/web.php

Route::get('/viewdeail/{schoolId}', 'ViewController@details')->name('schooldetail');
// app/Http/Controllers/ViewController.php

class ViewController extends Controller {

    ...

    public function details($schoolId) {
        // your view located in ressources/views folder
        return view('viewdeail/', compact('schoolId'));
    }

}

现在,如果您只想获取domain.tld/viewdeail?schoolId=3例如这样参数,则需要删除文件{schoolId}中先前定义的路由routes/web.php,然后编辑控制器并按以下步骤进行操作:

// app/Http/Controllers/ViewController.php

use Illuminate\Http\Request; // we need the Request class, so import it

class ViewController extends Controller {

    ...

    public function details(Request $request) {
        $schoolId = $request->query('schoolId');

        // your view located in ressources/views folder
        return view('viewdeail/', compact('schoolId'));
    }

}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章