0
私はこのエラーメッセージ取得しています:データベース更新 - 列が見つからないlaravel
SQLSTATE [42S22]:カラム見つかりません:1054不明な列を '0' 'フィールド リスト' に(SQL:更新
handymen
セット0
= JOB_ID、= 21
、updated_at
= 2016年4月14日午前9時14分49秒id
= 1)
私のDB構造は次のようになります。
<?php
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateHandymenTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('handymen', function (Blueprint $table) {
$table->increments('id');
$table->string('first_name');
$table->string('last_name');
$table->string('street');
$table->string('postcode');
$table->string('town');
$table->string('skills');
$table->integer('job_id')->unsigned();
$table->foreign('job_id')->references('id')->on('jobs')->onDelete('cascade');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('handymen', function (Blueprint $table) {
$table->dropForeign('handymen_job_id_foreign');
$table->dropColumn('job_id');
});
}
}
コントローラー:
function jobassign(Request $request)
{
$job_id = $request->input('job_id');
$handymanId = $request->input('handymanid');
$job = Handyman::where('id', $handymanId)->update(['job_id', $job_id]);
return redirect()->back()->with('status', trans('Handyman has been successfully assigned to this job.'));
//return view('layouts/skilledHandyman', ['jobs' => $jobs, 'skilledHandyman' => $skilledHandyman]);
}
function skilledHandyman($handymanId)
{
$skilledHandyman = Handyman::find($handymanId);
$jobs = Job::all();
return view('layouts/skilledHandyman', ['jobs' => $jobs, 'skilledHandyman' => $skilledHandyman]);
}
ビュー:
@extends('layouts.master')
@section('skilledHandyman')
@section('content')
<h1>Handyman details</h1>
<ul>
<li>First Name:{{$skilledHandyman->first_name}}</li>
<li>Last Name:{{$skilledHandyman->last_name}}</li>
<li>Street:{{$skilledHandyman->street}}</li>
<li>Postcode:{{$skilledHandyman->postcode}}</li>
<li>Town:{{$skilledHandyman->town}}</li>
<li>Skills:{{$skilledHandyman->skills}}</li>
</ul>
<form action="{{url('jobassign')}}" method="POST">
{{ csrf_field() }}
@foreach ($jobs as $job)
<div>
<label>{{$job->name}}</label>
<input type='checkbox' value='{{$job->id}}' name='job_id'/>
<input type="hidden" name="handymanid" value="{{$skilledHandyman->id}}">
</div>
@endforeach
<input type="submit" name="submitBtn" value="Assign Job">
</form>
@endsection
誰かがしてくださいこの出来事である理由、それを修正する方法を教えてもらえますか?
を使用すると、更新クエリ内の配列を渡したとして、あなたは
$job = Handyman::where('id', $handymanId)->update(['job_id', $job_id]);
^^^^
があるべきキーとしてあなたの列を定義する必要があるので、あなたは、あなたの更新クエリ内エラー/タイプミスを持っているあなたに
いつもスペルミスありがとうございました –
よろしくお願いします。あなたを助けてくれてうれしいです。 –