将id传递给视图中的超链接&#h; href

时间:2017-01-23 15:42:28

标签: php laravel

在我的laravel应用程序中,当我将鼠标悬停在链接上时,我的目的是显示计划ID。基本上从数据库中获取计划表的ID。我收到错误:

Undefined variable: plan  

控制器:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Plan;


class PlanController extends Controller
{

    public function getPlan(Request $request, $id){

          $plan = Plan::find($id);


        return redirect()->route('index');

    }

}

路线:

Route::get('/plan_id/{id}', [

    'uses' => 'PlanController@getPlan',
    'as' => 'get-plan'

]);

使用链接查看:

  <a href="{{route('get-plan', ['id' => $plan->id])}}" type="submit" id="basic" class="btn btn-primary btn-lg btn-block">Sign up with Basic </a>

2 个答案:

答案 0 :(得分:1)

您应该返回构建链接的视图,而不是使用重定向:

return view('view', compact('plan'));

正如我在您的其他问题中告诉您的那样,如果您使用重定向,则应使用->with('plan', $plan);将数据刷新到会话中。

答案 1 :(得分:0)

在该代码中,变量$ plan是函数的本地变量。它没有外部范围。 您可以将其声明为全局

global $plan;

或在课堂上使用公共变量:

$this->plan