【问题标题】:laravel get parameter from url to pass it with the action of the formlaravel 从 url 获取参数以通过表单的操作传递它
【发布时间】:2018-02-21 20:48:37
【问题描述】:

所以我有这个问题,我无法通过它,我正在尝试获取我用这个视图发送的参数

@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/apply 我需要 '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/', 'UsersController@careerportalregister');

控制器:

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/');

}

【问题讨论】:

  • 你试过\Request::segment(1)吗? 1 基本上是索引号,它的工作是从项目中任何位置的 URL 读取参数。
  • 我想传递我传递给刀片的 url 参数
  • 还可以,如果它在刀片中,您可以使用{{Request::segment(1)}}。看看吧
  • 它工作了,所以 {{Request::segment(1)}} 得到第一个参数 {{Request::segment(2)}} 得到第二个参数很酷感谢兄弟的帮助:*
  • 太好了,所以我也要把它作为答案发布

标签: php laravel


【解决方案1】:

我会将 id 作为可选参数传递给寄存器 url。

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

然后将它放入控制器中,然后用它做你想做的事情。

您也可以将其保存在会话中。

祝你有美好的一天,

【讨论】:

    【解决方案2】:

    假设这是在您的职位空缺页面上,而您遇到的问题是您无法将 ID 放入您需要遍历每个职位空缺并设置 ID 的 url,以便生成链接每个空缺的唯一 ID。

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

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

    【讨论】:

      【解决方案3】:

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

      2 为索引号,可根据需要随意更改。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-01-19
        • 2020-05-21
        • 2014-05-22
        • 1970-01-01
        相关资源
        最近更新 更多