2017-01-23 2 views
1

В моем приложении laravel я пытаюсь отобразить идентификатор плана, когда я наводил ссылку на ссылку. В основном получить идентификатор таблицы плана из базы данных. Я получаю ошибку:Передача id в href гиперссылки в виде

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' => '[email protected]', 
    '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> 

ответ

1

Вы должны вернуть вид где вы строите ссылку, вместо того, чтобы использовать redir выполнения над каждым:

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

И как я говорил вам в другом вопросе, если вы используете перенаправление, вы должны использовать ->with('plan', $plan); прошить данные в сессию.

+0

Im используя вид возврата. Я все еще не уверен в представлении. – steven

+0

мне нужно что-нибудь изменить в гиперссылке href? – steven

+0

@steven, если вы используете 'return view ('view', compact ('plan'));' и он по-прежнему дает вам ту же ошибку, это означает, что другой метод возвращает представление. –

0

В этом коде переменная $ plan является локальной для функции. Он не имеет внешнего охвата. Вы можете либо объявить его как глобальный

global $plan; 

или использовать открытую переменную на классе:

$this->plan 
Смежные вопросы