我想单击“查看详细信息”按钮,然后转到另一个页面“ / 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] 删除。
我来说两句