通过 Laravel 中的链接 href 传递 id
Posted
技术标签:
【中文标题】通过 Laravel 中的链接 href 传递 id【英文标题】:Passing id through an link href in Laravel 【发布时间】:2017-05-27 21:53:21 【问题描述】:是否可以 并显示该页面,如 /projects/display/2。
我有这个链接:
<td><a href=" url('projects/display', $projects->id) " class="btn btn-info">View</a></td>
当鼠标悬停在链接上时,它会显示 id 为 /projects/display/2。但是每当我点击链接时,我都会收到一条错误消息:
Sorry, the page you are looking for could not be found.
我有一个名为项目/显示的视图设置,以及路由和控制器。
路线:
<?php
Route::group(['middleware' => ['web']], function ()
Route::get('/', 'PagesController@getIndex');
Route::get('/login', 'PagesController@getLogin');
Auth::routes();
Route::get('/home', 'HomeController@index');
Route::get('/projects/display', 'ProjectsController@getDisplay');
Route::resource('projects', 'ProjectsController');
);
控制器:
<?php
namespace App\Http\Controllers;
use App\project;
use App\Http\Requests;
use Illuminate\Http\Request;
use Session;
class ProjectsController extends Controller
public function index()
public function create()
return view('projects.create');
public function store(Request $request)
$this->validate($request, array(
'name' => 'required|max:200',
'description' => 'required'
));
$project = new project;
$project->name = $request->name;
$project->description = $request->description;
$project->save();
Session::flash('success', 'The project was successfully created!');
return redirect()->route('projects.show', $project->id);
public function show()
$project = Project::all();
return view('projects.show')->withProject($project);
public function edit($id)
//
public function update(Request $request, $id)
//
public function getDisplay($id)
$project = Project::find($id);
return view('projects/display')->withProject($project);
【问题讨论】:
【参考方案1】:您需要将路线更改为:
Route::get('/projects/display/id', 'ProjectsController@getDisplay');
然后生成 URL:
url('projects/display/'.$projects->id)
【讨论】:
@steven 请务必在可能的情况下将其标记为已接受,以防其他人可能有同样的问题。【参考方案2】:您正在寻找的是参数化路线。在此处阅读有关它们的更多信息: https://laravel.com/docs/5.3/routing#required-parameters
【讨论】:
【参考方案3】:如果你像下面这样写路线,
Route::get('/projects/display/projectId', 'ProjectsController@getDisplay')->name('displayProject');
您可以在 href 中使用名称“displayProject”并将 id 作为数组传递:
<td><a href=" route('displayProject', ['projects' => $projects->id]) " class="btn btn-info">View</a></td>
【讨论】:
以上是关于通过 Laravel 中的链接 href 传递 id的主要内容,如果未能解决你的问题,请参考以下文章
PHP 通过 SQL 查询中的 Href 链接将变量传递给弹出页面