无法从主页面中的url获取参数值

时间:2015-06-16 22:58:28

标签: laravel laravel-5

我搜索了很多问题。但我在app.blade.php文件中找不到与获取请求的参数值相关的任何内容。

网址 http://localhost:8000/project/dashboard/1

我希望在用户登录后获取此参数值。以下是AuthController中的代码。

if ($this->auth->attempt($request->only('email', 'password')))
{
    return redirect()->route('dashboard', ['id' => 1]);

}

现在,我可以轻松地在控制器中获取此参数。

public function getDashboard($id){
   dd($id);
}

但是,我很难在app.blade.php文件中获取此ID。那么,我怎么能在这里得到它?

3 个答案:

答案 0 :(得分:2)

你可以这样做:

Route::getCurrentRoute()->getParameter('id')

参见 Illuminate \ Routing \ Route.php

/**
 * Get a given parameter from the route.
 *
 * @param  string  $name
 * @param  mixed   $default
 * @return string|object
 */
public function getParameter($name, $default = null)
{
    return $this->parameter($name, $default);
}

答案 1 :(得分:0)

我对laravel没有很多经验,但我认为这应该有效。

<?php

    $x = 15;
    while($x >=5 ) {
        if($x != 10) echo $x . "<br>"; 
        $x--;
    } 

?>`

答案 2 :(得分:0)

虽然你可以使用这个来获取route参数的值 Route::getCurrentRoute()->getParameter('id')

但基本上你违背了MVC架构的原则。理想情况下,您的观点应该与此类内容无关。您应该在控制器中获取参数值,并将其传递给视图。

将数据传递给视图

// Using conventional approach
$view = view('greeting')->with('name', 'Victoria');

// Using Magic Methods
$view = view('greeting')->withName('Victoria');

在上面的示例中,变量$ name可供视图访问,并包含Victoria。

如果您愿意,可以将数据数组作为第二个参数传递给视图助手:

$view = view('greetings', $data);

以这种方式传递信息时,$ data应该是具有键/值对的数组。在您的视图中,您可以使用相应的密钥访问每个值,例如{{$ key}}(假设$ data [&#39; key&#39;]存在)。

Laravel文档 您可以阅读有关使用Laravel Views

的更多信息

MVC的基础 作为Defined by Wschools,

MVC是一个使用MVC(模型视图控制器)设计构建Web应用程序的框架:

  1. 模型代表应用程序核心(例如,列表 数据库记录)。
  2. 视图显示数据(数据库记录)。
  3. Controller处理输入(到数据库记录)。
  4. 经验法则

    因此输入的处理应该通过控制器来完成。虽然有时候我们倾向于忽视设计原则,但从长远来看,它们往往会让ALOT付出代价。