使用laravel更新数据库


Updating database with laravel

让我解释一下情况,这个人正在搜索技能,当点击时会显示具有该技能的手艺人列表,当用户点击其中一个时,会显示完整的详细信息。然后,用户单击assign job链接,进入一个包含jobs和复选框的页面,当选择了所需的job并单击submit按钮时,我希望数据库更新"handymers"数据库中的"job_id"值。这怎么可能呢?

@extends('layouts.master')
@section('title', 'Assign Job')
@section('content')
@section('content')
<form action="{{url('assignjob')}}" method="POST">
    {{ csrf_field() }}
     @foreach ($jobs as $job)
        <div>
            <label>{{$job->name}}</label>
            <input type='checkbox' value='{{$job->id}}' name='jobs[]'/>
        </div>
    @endforeach
    <input type="submit" name="submitBtn" value="Assign Job">
</form>
@endsection

function search()
{
    $skills = Skill::all();
    return view('layouts/search',['skills' => $skills]);
}
function details($skillId)
{
$skill = Skill::find($skillId);
$handymen = $skill->handymen;
return view('layouts/details', ['skill' => $skill,'handymen' => $handymen]);
}
function assignJob($handymanId)
{
    $assignJob = Hadnyman::find($handymanId);
    $jobs = Job::all();
    return view('layouts/assignjob',['jobs' => $jobs]);
}   
function jobassign(Request $request)
{
    return redirect('assignjob');
}
function skilledHandyman($handymanId)
{
    $skilledHandyman = Handyman::find($handymanId);
    return view('layouts/skilledHandyman', ['skilledHandyman' => $skilledHandyman]);
}

如果需要特定的代码,请让我知道

您应该看看Eloquent Relationship。勤杂工有很多工作

class Handymen extends Model {
  ...
  public function jobs() {
     return $this->hasMany(App'Job::class);
  }
}

在您的控制器中

function assignJob(Request $request, $id)
{
    $handymen = Handyman::findOrFail($id);
    // $request->get('jobs') = [1, 6, 7, etc...]
    $handymen->saveMany($request->get('jobs'));
    return ...;
}