努力弄清楚如何最好地完成我在简单的PHP中通常会做的事情。
我有以下网址:
/viewbuild/2
目标是viewbuild是视图,2是数据库行的id。
通常它只是:
$id = $_GET['id'];
但是无法通过laravel正确地做到这一点。
这是我的路线:
Route::get('viewbuild', function()
{
return View::make('viewbuild');
});
根据我的观点,我做过例如:
<?php
$build = Build::find(20);
?>
{{ $build->id }}
这会在构建表中正确搜索id为2的行,然后显示其id。
我现在要做的是拉动&#39; 20&#39;来自网址的值。
我试过了:
Route::get('/viewbuild/{build_id}', function($build_id = null)
{
$data = array(
'build_id' => $build_id,
);
return View::make('viewbuild', $data);
});
然后在我看来:
$build = Build::find(build_id);
但是我得到了未定义的常量错误。
对此有何帮助?
答案 0 :(得分:0)
基本上我可以通过快速查看代码看到两件事:
build_ud
的数组时的拼写错误应该是build_id
我认为$
符号)的常量,而不是传递给视图的传递变量。即:$ build = Build :: find(build_id);
应该是:
$ build = Build :: find($ build_id);
答案 1 :(得分:0)
您的路线关闭应如下所示:
Route::get('/viewbuild/{build_id?}', function($build_id = null)
{
// Query the database here instead of inside the view
$build = Build::find($build_id);
return View::make('viewbuild', compact('build'));
});