2016-04-14 5 views
0

私はこのエラーメッセージ取得しています:データベース更新 - 列が見つからないlaravel

SQLSTATE [42S22]:カラム見つかりません:1054不明な列を '0' 'フィールド リスト' に(SQL:更新handymenセット0 = JOB_ID、= 2 1updated_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]); 
                  ^^^^ 

があるべきキーとしてあなたの列を定義する必要があるので、あなたは、あなたの更新クエリ内エラー/タイプミスを持っているあなたに

答えて

2

ありがとうございました

$job = Handyman::where('id', $handymanId)->update(['job_id' => $job_id]); 
                  ^^^^ 
+0

いつもスペルミスありがとうございました –

+0

よろしくお願いします。あなたを助けてくれてうれしいです。 –