无法从上一页 Laravel 获取 id

Posted

技术标签:

【中文标题】无法从上一页 Laravel 获取 id【英文标题】:Can't get id from previous page Laravel 【发布时间】:2021-05-15 22:41:24 【问题描述】:

我有一个按钮可以查看每行数据表中用户使用按钮的详细信息,该按钮将调用路由 detail.show 并打开带有 user_id 的链接(例如:http://127.0.0.1:8000/detail/7), 这是按钮代码

->addColumn('action', function ($post) 
                    $link = "route('detail.show',$post->user_id)";
                    $btn = ' <a href="' . route("detail.show", $post->user_id) . '"data-original-title="Detail" class="btn btn-primary mr-1 btn-sm detailProduct"><span class="fas fa-eye"></span></a>';

                    return $btn;
                )

问题是我无法从中获取任何数据,有什么问题吗? 这是我的路线

Route::resource('detail', DetailController::class);

这是我的控制器

 public function show($user_id)
    
        $post = Post::where('user_id', $user_id)->latest()->get();

        return view('detail', compact('post'));
    

这是我的看法

@extends('layouts.app')
@section('content')
<div class="row mt-5 mb-5">
    <div class="col-lg-12 margin-tb">
        <div class="float-left">
            <h2> Show Post</h2>
        </div>

    </div>
</div>

<div class="row">
    <div class="col-xs-12 col-sm-12 col-md-12">
        <div class="form-group">
            <strong>User ID:</strong>
             $post->user_id 
        </div>
    </div>
    <div class="col-xs-12 col-sm-12 col-md-12">
        <div class="form-group">
            <strong>Name:</strong>
             $post->name 
        </div>
    </div>
</div>
@endsection

我无法使用如上所示的代码显示任何内容。有什么不对?提前致谢

【问题讨论】:

这里的数据表在哪里??不清楚你的问题是什么。 【参考方案1】:

此类问题通常可以通过将您的逻辑结构化为更简洁、更直接并按预期使用框架结构来解决(记录在案)。

在这种情况下,我会将用户视为资源,而不是“细节”。

我宁愿创建一个特定的路由来显示用户的具体细节,或者只使用partial resource routes。

无论如何,如果您想保留当前的构建:

如果我没记错的话,传递给控制器​​中的 show 函数的参数应该与你的路由中的参数名称匹配。

当你生成路线时 Route::resource('detail', DetailController::class); 它创造了类似的东西 /详细信息/详细信息 为显示方法。 如this part of the docs 中所述。

尝试替换

$user_id

$detail

在你的表演方法中。

【讨论】:

以上是关于无法从上一页 Laravel 获取 id的主要内容,如果未能解决你的问题,请参考以下文章

登录laravel 5.7后重定向到上一页

无法使用 ionic2 在设备上获取上一页名称

Laravel 从两个表中获取数据而不使用分页连接

laravel5.5中添加对分页样式的修改上一页和下一页

Laravel 4 Redirect::back() 不会转到上一页(刷新当前页面)

登录vue和laravel后如何重定向回上一页?