【问题标题】:How to create dynamic route link in my navbar如何在我的导航栏中创建动态路由链接
【发布时间】:2018-11-09 10:25:44
【问题描述】:

我想在导航栏上创建动态路由并将其重定向到http://localhost:8000/tasks/nenad 页面

Web.php

Route::get('/tasks/{first_name}', 'Viewercontroller@profile')
    ->middleware('viewer')
    ->name('profile');

查看器控制器

public function profile($first_name) {
    $user = User::whereFirst_name($first_name)->first();
    return view('viewers/tasks', compact('user'));
}

Navbar.blade.php:

  <li><a href="{{ url(route('profile')) }}">Tasks</a></li>

我知道我必须更改导航栏页面上的链接,但不知道如何,任何帮助都会很棒...

【问题讨论】:

标签: php laravel hyperlink routes


【解决方案1】:

它不起作用,因为你的路由需要一个参数,所以你必须在你的 navbar.blade.php 上指明你想要传递的参数。

例如,我假设您在 $user 上保存了一个用户,那么您可以这样做:

route('profile', ['first_name' => $user->name]);

你可以阅读更多关于URL generation on Laravel docs

【讨论】:

  • 嗯,谢谢你的回答,但它让我回到空白页面(找不到页面)。所以我想我必须为 $variable 赋值。所以我必须在控制器中这样做?真的很抱歉这种问题,但我是新来的。真的谢谢
  • 我不明白你所说的 $variable 是什么意思。你能更具体点,点击你的href后生成的url是什么?
  • 我的意思是 $user。我得到这个网址:localhost:8000/tasks 点击 href
  • 如果你没有一个名为 $user 的变量,它当然不会工作!我只是用它作为一个例子来向你展示,因为你没有在你的视图中提供你可以使用的信息。试试这个: route('profile', ['first_name' => 'use_a_real_variable']);
  • imgur.com/a/CnSAQBF 这是我声明 $user 的 ViewerController
猜你喜欢
  • 2021-05-22
  • 2021-08-07
  • 2019-02-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-28
  • 1970-01-01
  • 2021-08-15
相关资源
最近更新 更多