2017-09-13 259 views
0

,所以我有这个问题,我不能得到通过它,我试图得到一个参数我这个观点laravel得到URL参数与形式的行动传递

@if(Auth::user()) 
        <a href="/apply/success/{{$data->VacanciesID}}" class="btn turquoiseButton">Apply</a> 

        @else 
        <a href="/careers/{{$data->VacanciesID}}/apply" class="btn turquoiseButton">Apply</a> 
       @endif 

当用户没有登录时,它将他重定向到注册表单,并将“VacanciesID”发送到注册表单,所以它在url中存在,但我无法获取url的参数给刀片发送它与看起来像这样/ careers/1 /应用我需要'1'的形式的行动。

我的继承人登记表

<form action="/register/" method="POST" class="careersform"> 
      <input type="hidden" name="_token" id="csrf-token" value="{{ Session::token() }}" /> 
      <h4>User Details</h4> 
      <hr> 
      <div class="row"> 
      <div class="col-md-6 col-xs-12"> 
      <div class="form-group careersform-group-styled required"> 
      <label>Username</label> 
      <input name="EmployeeUsername" type="text" class="form-control"> 
      </div> 
      </div> 
      <div class="col-md-6 col-xs-12"> 
      <div class="form-group careersform-group-styled required"> 
      <label>Password</label> 
      <input name="EmployeePassword" type="text" class="form-control"> 
      </div> 
      </div> 
      </div> 
      <h4>Personal Details</h4> 
      <hr> 
      <div class="row"> 
      <div class="col-md-6 col-xs-12"> 
      <div class="form-group careersform-group-styled required"> 
      <label>First Name</label> 
      <input name="FName" type="text" class="form-control"> 
      </div> 
      </div> 
      <div class="col-md-6 col-xs-12"> 
      <div class="form-group careersform-group-styled required"> 
      <label>Last Name</label> 
      <input name="LName" type="text" class="form-control"> 
      </div> 
      </div> 
      <div class="col-md-6 col-xs-12"> 
      <div class="form-group careersform-group-styled required"> 
      <label>Gender</label> 
      <select name="Gender" class="form-control"> 
       <option>Male</option> 
       <option>Female</option> 
       </select> 
      </div> 
      </div> 
      <div class="col-md-6 col-xs-12"> 
      <div class="form-group careersform-group-styled required"> 
      <label>Date of Birth</label> 
      <input name="DOB" type="date" class="form-control"> 
      </div> 
      </div> 
      <div class="col-md-6 col-xs-12"> 
      <div class="form-group careersform-group-styled required"> 
      <label>Marital Status</label> 
      <select name="MaritalStatus" class="form-control"> 
      <option>Single</option> 
      <option>Married</option> 
      <option>Other</option> 
      </select> 
      </div> 
      </div> 
      <div class="col-md-6 col-xs-12"> 
      <div class="form-group careersform-group-styled required"> 
      <label>Country of Nationality</label> 
      <select name="CountryOfNationality" class="form-control"> 
      <option>Jordan</option> 
      <option>Other..</option> 
      </select> 
      </div> 
      </div> 
      <div class="col-md-6 col-xs-12"> 
      <div class="form-group careersform-group-styled required"> 
      <label>National ID</label> 
      <input name="NationID" type="text" class="form-control"> 
      </div> 
      </div> 
      <div class="col-md-6 col-xs-12"> 
      <div class="form-group careersform-group-styled required"> 
      <label>Image</label> 
      <input name="Image" type="file" class="form-control"> 
      </div> 
     </div> 
      <div class="form-group col-md-6 col-xs-12"> 
      <img id="ImgUpload" src="/images/avatar.png" alt="Uploaded Image"/> 
      </div> 

      </div> 
      <h4>Education Details</h4> 
      <hr> 
      <div class="row"> 
       <div class="col-md-6 col-xs-12"> 
       <div class="form-group careersform-group-styled required"> 
      <label>School's Name</label> 
      <input name="SchoolName" type="text" class="form-control"> 
      </div> 
      </div> 
      <div class="col-md-6 col-xs-12"> 
      <div class="form-group careersform-group-styled required"> 
      <label>Education Level</label> 
      <select name='EducationLevel' class="form-control"> 
      <option>High school</option> 
      <option>Some college</option> 
      <option>Bachelor's degree</option> 
      <option>Master's degree</option> 
      </select> 
      </div> 
     </div> 
     <div class="col-md-6 col-xs-12"> 
     <div class="form-group careersform-group-styled required"> 
      <label>Major</label> 
      <input name="EducationMajor" type="text" class="form-control"> 
      </div> 
     </div> 
     <div class="col-md-6 col-xs-12"> 
     <div class="form-group careersform-group-styled required"> 
      <label>GPA</label> 
      <input name="GBA" type="text" class="form-control"> 
      </div> 
     </div> 
     <div class="col-md-6 col-xs-12"> 
     <div class="form-group careersform-group-styled required"> 
      <label>Add Another Education</label> 
      <input name="education" type="text" class="form-control"> 
      </div> 
     </div> 
      </div> 
      <h4>Experience Details</h4> 
      <hr> 
      <div class="row"> 
       <div class="col-xs-12"> 
       <div class="form-group careersform-group-styled required"> 
      <label>Company's Name</label> 
      <input name="CompanyName" type="text" class="form-control"> 
      </div> 
      </div> 
      <div class="col-md-6 col-xs-12"> 
      <div class="form-group careersform-group-styled required"> 
       <label>Job Title</label> 
       <input name="JobTitle" type="text" class="form-control"> 
      </div> 
     </div> 
     <div class="col-md-6 col-xs-12"> 
     <div class="form-group careersform-group-styled required"> 
      <label>Salary</label> 
      <input name="Salary" type="text" class="form-control"> 
      </div> 
     </div> 
     <div class="col-md-6 col-xs-12"> 
     <div class="form-group careersform-group-styled required"> 
      <label>Start date</label> 
      <input name="StartDate" type="text" class="form-control"> 
      </div> 
     </div> 
     <div class="col-md-6 col-xs-12"> 
     <div class="form-group careersform-group-styled required"> 
      <label>End date</label> 
      <input name="EndDate" type="text" class="form-control"> 
      </div> 
     </div> 
     <div class="col-md-6 col-xs-12"> 
     <div class="form-group careersform-group-styled required"> 
      <label>Add Another Experience</label> 
      <input name="anotherexperience" type="text" class="form-control"> 
      </div> 
     </div> 
      </div> 
      <button type="submit" class="btn turquoiseButton">Submit</button> 
      </form> 

寄存器路线:

Route::post('register/', '[email protected]'); 

控制器:

public function careerportalregister(request $request){ 
    $EmployeeUsername = $request->input('username'); 
    $EmployeePassword = $request->input('password'); 
    $role_id = $request->input('role_id'); 
    $rol = $request->input('roles'); 
    $roles= explode("," ,$rol); 

    $validator = Validator::make($request->all(), [ 

     'password' => 'required|min:5|confirmed', 
     'confirm_password' => 'required|min:6|confirmed' 
    ]); 
    // if ($validator->fails()) { 
    // return redirect('/user/create') 
    // ->withErrors($validator) 
    // ->withInput(); 
    // } else { 
    $employee = user::create([ 
     'username' => $request->input('EmployeeUsername'), 
     'password' => bcrypt($request->input('EmployeePassword')), 


    ]); 



    $Title = $request->input('Title'); 
    $Gender = $request->input('Gender'); 
    $FName = $request->input('FName'); 
    $LName = $request->input('LName'); 
    $DOB = $request->input('DOB'); 
    $MaritalStatus = $request->input('MaritalStatus'); 
    $CountryOfBirth = $request->input('CountryOfBirth'); 
    $CountryOfNationality = $request->input('CountryOfNationality'); 
    $NationID = $request->input('NationID'); 
    $Image = $request->input('Image'); 
    $user_id = $employee->id; 


    PersonalDetails::CreatePersonalDetails($Title,$Gender ,$FName ,$LName,$DOB,$MaritalStatus,$CountryOfBirth,$CountryOfNationality,$NationID,$Image,$user_id); 

    $EducationMajor = $request->input('EducationMajor'); 
    $EducationLevel = $request->input('EducationLevel'); 
    $SchoolName = $request->input('SchoolName'); 
    $GBA = $request->input('GBA');; 
    $user_id = $employee->id; 


    EducationDetails::CreateEducationDetails($EducationMajor,$EducationLevel ,$SchoolName ,$GBA,$user_id); 

    $CompanyName = $request->input('CompanyName'); 
    $StartDate = $request->input('StartDate'); 
    $EndDate = $request->input('EndDate'); 
    $Salary = $request->input('Salary'); 
    $JobTitle = $request->input('JobTitle'); 
    $UserID = $employee->id; 


    ExperienceDetails::CreateExperienceDetails($CompanyName,$StartDate ,$EndDate ,$Salary,$JobTitle,$UserID); 

    foreach ($roles as $role) { 
     $count = DB::table('roles')->where('name', $role)->count(); 
     if ($count != 0) { 
      $s = DB::table('roles')->where('name', $role)->first(); 
      DB::table('role_user')->insert([ 
       'user_id' => $employee->id, 
       'role_id' => $s->id 
      ]); 
     } 


    } 


    Auth::login($employee, $remember = true); 

    return Redirect::to('/apply/success/'); 

} 
+1

你有没有试过'\ Request :: segment(1)'? 1基本上是索引号,它的工作是从你的项目中任何地方的URL读取参数。 – sinaza

+0

我想传递我传递给刀片的url参数 –

+1

还好,如果它在刀片中,你可以执行'{{Request :: segment(1)}}''。给它看看 – sinaza

回答

1

在控制器\Request::segment(2) 在刀片{{Request::segment(2)}}

2是索引号,随时根据您的需求来改变它。

0

我会通过ID寄存器URL作为一个可选的参数。

像这样: Route :: post('register/{vacanciesId?}','UsersController @ careerportalregister');

然后让它在控制器中,并做它你想要的。

你也可以将它保存在会话中。

有一个愉快的一天,

0

假设这是你的职位空缺页面,您所遇到的问题的是,你是不是能够把ID到你需要通过每个空缺迭代的URL,并设置ID这样就可以用每个空缺的唯一ID生成链接。

另外考虑到你有两种不同的方式来提供空缺的详细信息,你需要创建两个Route :: Get'for/apply/success/{{id}}和/ careers/{{id}}/apply

当显示空位时,我假设您从数据库中检索并遍历结果以显示在视图中?你应该编辑你的文章并显示它。