通过Laravel中的链接href传递ID [英] Passing id through an link href in Laravel

查看:318
本文介绍了通过Laravel中的链接href传递ID的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

是否可以通过Laravel中的链接href传递ID并像/projects/display/2那样显示该页面.

is it possible to pass id through an link href in Laravel and display that page like /projects/display/2.

我有这个链接:

<td><a href="{{ url('projects/display', $projects->id) }}" class="btn btn-info">View</a></td>

将链接悬停在/projects/display/2上时显示ID.但是,每当我单击链接时,我都会收到以下错误消息:

It displays the id when hovering over the link as /projects/display/2. But whenever i click on the link i get an error message of:

 Sorry, the page you are looking for could not be found.

我有一个称为项目/显示的视图设置,以及路线和控制器.

I have a view setup called projects/display, plus routes and controller.

路线:

<?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);

    }





}

推荐答案

您需要将路线更改为:

Route::get('/projects/display/{id}', 'ProjectsController@getDisplay');

然后使用以下方法生成URL:

And then generate URL with:

{{ url('projects/display/'.$projects->id) }}

这篇关于通过Laravel中的链接href传递ID的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆