【问题标题】:I want to get a value from 2 tables and save it to a new one in Laravel 5我想从 2 个表中获取一个值并将其保存到 Laravel 5 中的一个新表中
【发布时间】:2018-10-23 17:44:30
【问题描述】:

我有一个 laravel 刀片,当单击感兴趣的按钮时,它会将信息存储在查询表中。 正如您在 url 中看到的那样,1 是显示在从作业表中获取的刀片中的作业的“id”。

我有一个名为“查询”的新表,其中包含以下列:id、jobid、name、age、sex、degree、contactmail 和 bio。 其中,'id' 是自动递增的,'jobid' 应该与 jobs 表中的 'id' 相同,name、age、sex、degree、contactmail 和 bio 应该来自 user_profiles 表。

这是我的工作控制器@有兴趣

public function interested(request $request)
{
    $job = job::find($id);
    $userinfo = userprofile::find($id);
    $query = new query;
    $query->jobid = $job->id;
    $query->name = $userinfo->name;
    $query->age = $userinfo->age;
    $query->sex = $userinfo->sex;
    $query->degree = $userinfo->degree;
    $query->contactmail = $userinfo->contactmail;
    $query->bio = $userinfo->bio;
    $query->save();

    //return
}

我的 web.php

Route::post('/submitresume', 'jobcontroller@interested');

这是 user_profiles 表

当我点击有兴趣时,我得到了错误 未定义变量:id 在 jobcontroller.php(第 101 行)

我知道我做错了什么,但我不知道是什么,因为我是新手。

这是感兴趣的按钮所在的 laravel 刀片

<form action= "/submitresume" method="post">
{{csrf_field()}}
<div class="col-md-8 col-md-offset-2">
  <h2 class="display-2">{{$item->jobposition}}</h2>
  <p class="lead">{{$item->schoolname}}</p>
  <p class="text-info"> {{$item->jobdesc}} </p>
  <p class="text-info"> Salary: {{$item->prevemp}} </p>
  <p class="text-info"> Contact Information: {{$item->contact}} </p>

  <p class="lead">
    <button type="submit" class="btn btn-primary">Interested</button>
  </p>

</div>
</form> 

【问题讨论】:

  • 也发布您的表格]
  • 您能否发布 HTML 以供您查看,包括 Interested 按钮?
  • @fubar 我已经编辑过了
  • @RahulShrivastava 我已经编辑过了

标签: php laravel-5


【解决方案1】:

您好,因为 $id 变量不存在于您的函数 Interest() 中,所以收到该错误,laravel 使用 oops 概念,您在下面提到的代码中使用了您不会收到任何错误。

public function interested(request $request)
{
    $user = Auth::user();
    $id=$user->id;
    $job = job::find($id);
    $userinfo = userprofile::find($id);
    $query = new query;
    $query->jobid = $job->id;
    $query->name = $user->name();
    $query->age = $userinfo->age;
    $query->sex = $userinfo->sex;
    $query->degree = $userinfo->degree;
    $query->contactmail = $userinfo->contactmail;
    $query->bio = $userinfo->bio;
    $query->save();
    //return
}

【讨论】:

    【解决方案2】:

    这样使用路由方法发送id。

    <form action= "{{ route('submitresume',$id) }}" method="post">
    

    您的路线:

    Route::post('/submitresume/{$id}', 'jobcontroller@interested')->name('submitresume');
    

    你的控制器:

    public function interested(Request $request,$id)
    {
        $job = job::find($id);
        $userinfo = userprofile::find($id);
        $query = new query;
        $query->jobid = $job->id;
        $query->name = $userinfo->name;
        $query->age = $userinfo->age;
        $query->sex = $userinfo->sex;
        $query->degree = $userinfo->degree;
        $query->contactmail = $userinfo->contactmail;
        $query->bio = $userinfo->bio;
        $query->save();
    
        //return
    }
    

    【讨论】:

      猜你喜欢
      • 2018-10-23
      • 1970-01-01
      • 1970-01-01
      • 2018-01-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多