【问题标题】:How can i get the href for controllers in laravel using id如何使用 id 在 laravel 中获取控制器的 href
【发布时间】:2019-10-07 10:15:18
【问题描述】:

我正在尝试创建一个重定向到用户资源的超链接。

这是我的路线

Route::get('/user/{id}', 'UserController@show');

这是我的 userController.php 文件

public function show($id) {
    $users = User::find($id);
    return view('user.show', compact('users'));
}

我正在这样做

我的刀片文件如下所示

@extends('layouts.app')

@section('content')

    <h1>All Crads</h1>

    @foreach($users as $user)
        <p>
            <b><a href="{{ url('/user/{id}') }}">{{ $user->name }}:</a></b>
            <span>{{ $user->email }}</span>
        </p>

    @endforeach
@stop

【问题讨论】:

  • 不相关,但是...您的用户可能有唯一的 ID,您可以将 $users 重命名为 $user 并删除刀片中的 @foreach

标签: php laravel-5 controller


【解决方案1】:

使用命名路由。 Here's the documentation.

按照这些说明,您的模板将包含route。像这样的:

<a href="{{ route('foo', ['id' => 1]) }}">

【讨论】:

    【解决方案2】:

    这里是named routing documentation,它解释了如何使用:

    @extends('layouts.app')
    
    @section('content')
    
        <h1>All Crads</h1>
    
        @foreach($users as $user)
            <p>
                <b><a href="{{ route('route_name', array('id' => $user->id)) }}">{{ $user->name }}:</a></b>
                <span>{{ $user->email }}</span>
            </p>
    
        @endforeach
    @stop
    

    【讨论】:

      【解决方案3】:

      你可以这样做:

      <a href="{{ url("/user/{$user->id}") }}">{{ $user->name }}</a>
      

      请关注:https://laravel.com/docs/5.8/urls#generating-basic-urls

      你也可以试试:

      <a href="{{ url("/user/".$user->id) }}">{{ $user->name }}</a>
      

      【讨论】:

      • 对不起,你需要使用双引号来解析变量。
      猜你喜欢
      • 2018-09-12
      • 2017-05-02
      • 1970-01-01
      • 1970-01-01
      • 2019-03-06
      • 1970-01-01
      • 2018-03-19
      • 2022-12-05
      • 1970-01-01
      相关资源
      最近更新 更多