使用助手发布输入信息

时间:2019-01-11 02:59:30

标签: php laravel

我对laravel完全陌生。我正在尝试使用Helpers从另一个表但在同一数据库中发布输入。我尝试使用Helpers通过电子邮件获取姓名。但是我得到了这个错误: 尝试获取非对象的属性“名称”(查看:C:\ xampp \ htdocs \ ims \ resources \ views \ leave \ add.blade.php)

以下是我的助手:

public static function getnamebyemail($id)
  {
      $userdata = DB::table('hr_intern_table')->where('id', '=', $id)->first();
      if(!empty($userdata))
      {
        return $userdata->name;
      }
      return '';
  }

以下是我尝试获取并发布的表格:

                  <div class="col-lg-6 col-md-6 col-sm-6 col-xs-6">
                      <div class="form-group form-float">
                        <label for="name" class="form-label">Trainee Name</label>
                          <div class="form-line">
                              <input type="text" class="form-control" name="name" disabled value="{{Helpers::getnamebyemail($data->name)}}"/>
                          </div>
                      </div>
                  </div>

下面是我的控制器:

public function add($id)
  {
    $data = DB::table('leave_req_tb')->where('id', '=', $id)->first();
    return view('leave.add', compact('data', 'id'));
  }



public function store_request(Request $request, $id)
  {
      $data = $this->validate($request, [
        'leave_applied'=>'required',
        'start_leave'=>'required',
        'end_leave'=>'required',
        'justification'=>'required',
        'sv_approval'=>'required',
        'hod_approval'=>'required',
        'hr_approval'=>'required',
      ]);

      DB::table('leave_req_tb')->where('id', '=', $id)->insert([
        'intern_id'=>$intern_id,
        'leave_applied'=>$request->leave_applied,
        'start_leave'=>$request->start_leave,
        'end_leave'=>$request->end_leave,
        'justification'=>$request->justification,
        'sv_approval'=>$request->sv_approval,
        'hod_approval'=>$request->hod_approval,
        'hr_approval'=>$request->hr_approval,
        'created_at' => now(),
      ]);

      return redirect('/leave/view')->with('success', 'The profile has been updated successfully.');
  }

我很高兴有人可以帮助我并解释为什么我收到此错误,因为我认为我的代码没有问题。

1 个答案:

答案 0 :(得分:0)

Helper函数是全局的,没有类 所以在您的Helpers.php中 只需放置

function getnamebyemail($id)
{
    $userdata = DB::table('hr_intern_table')->where('id', '=', $id)->first();
    if(!empty($userdata))
    {
        return $userdata->name;
    }
    return '';
}

以及所需的进口

只需在刀片中使用

{{getnamebyemail($data->name)}}