2015-12-28 18 views
1

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

Я знаю, что это можно сделать, передав значения с помощью URL-адреса. Но мне не хватает правильного синтаксиса.

1- Как отправить данные при перенаправлении?

2 Как должен выглядеть маршрут?

3- Как получить доступ к этому значению во втором представлении, чтобы передать это значение при отправке второй формы?

У меня есть много об этом, но я не мог понять этот расширенный синтаксис. Любая помощь приветствуется.

Заранее спасибо.

Это код в контроллере:

public function postCreateProfile(Request $request){ 
    //Adding attributes from $request to $profile 
    $profile->save(); 
    Session::flash('values',$request->azauj_id); 

    return redirect('/add/requirement'); 

} 

public function getCreateRequirement(Request $request){ 
    $att = Session::get('value'); 
    Session::flash('value',$att); 
    return view('req'); 
} 

public function postCreateRequirement(Request $request){ 
    dd(Session::get('value')); 
} 

Формы простые HTML формы с почтовыми методами представления Когда я использую dd(Session::get('value'));, я получаю нуль. Это означает, что значение не передается. К методу postCreateRequirement, который вызывается при отправке второй формы.

Ниже приведены маршруты.

//For Add Profile Page 
Route::get('/add', '[email protected]'); 
//For Add Profile Form Submission 
Route::post('/add', '[email protected]'); 
//For Add Requirements Page 
Route::get('/add/requirement', '[email protected]'); 
//For Add Requirements Form Submission 
Route::post('/add/requirement', '[email protected]'); 
+0

Слишком много вопросов, никакого кода, пожалуйста, прочитайте https://laravel.com/docs/5.2 сначала сначала –

+0

показать свою форму кода –

ответ

2

1- Как отправить данные в то время как перенаправлять?

Вы можете просто передать данные с переадресацией, используя ->with() метод, который создает сеанс, который будет отображаться только на следующей странице более here

Пример: Допустим, вы хотите, чтобы отправить статус вниз на ваш взгляд вы добавить к с переадресацией:

  // Where you are redirecting to 
redirect("/otherRoute")->with("status", "Profile updated!"); 
           // session name // data 

Теперь вы просто проверить, если сессия существует, и эхо его:

// If the session does not exist it will return false and not create it 
@if (session("status")) 
    <div class="alert alert-success"> 
     // echo out the session 
     {{ session("status") }} 
    </div> 
@endif 

2- Как должен выглядеть маршрут?

Маршруты должны быть определены в routes.php файл, расположенный в каталоге HTTP если вы отправляете данные, которые вы должны сделать маршруты и подключить их к контроллеру так:

//For Add Profile Page 
Route::get('/add', '[email protected]'); 
//For Add Profile Form Submission 
Route::post('/add', '[email protected]stCreateProfile'); 
//For Add Requirements Page 
Route::get('/add/requirement', '[email protected]'); 
//For Add Requirements Form Submission 
Route::post('/add/requirement', '[email protected]'); 

3- Как получить доступ к этому значению во втором представлении, чтобы передать это значение при отправке второй формы?

Вы могли бы просто использовать метод ->with() в переадресацией

public function postCreateProfile(Request $request){ 
    //Adding attributes from $request to $profile 
    $profile->save(); 

    return redirect('/add/requirement')->with("value",$request->azauj_id); 
} 

Получить значение

public function getCreateRequirement(Request $request){ 
    $value = session("value"); 

    // compact it and trow it in an input to pass it trough to the last controller method 
    return view('req'); 
} 

public function postCreateRequirement(Request $request){ 
    $request->get("value"); 
} 

ИЛИ Создать глобальную сессию и промойте его после

public function postCreateProfile(Request $request){ 
    //Adding attributes from $request to $profile 
    $profile->save(); 

    session("value",$request->azauj_id); 
    return redirect('/add/requirement'); 
} 

Получить значение

public function getCreateRequirement(Request $request){ 
    return view('req'); 
} 

public function postCreateRequirement(Request $request){ 
    $value = session("value"); 
    $request->session()->forget("value"); 
} 

Примечание: Laravel не заподлицо сессий, когда кто выходит из них останется, если не промываются вручную или с помощью метода $request->session()->flush();

+0

Большое спасибо. Это действительно помогло. Большое вам спасибо за такой описательный и информативный ответ. – alimaqsood

Смежные вопросы