2016-06-21 89 views
0

これがなぜ機能しないのかわかりません。私はオブジェクトのすべてのフィールドをチェックし、彼らはうまく変更されています。関数はエラーなしで完了し、Session :: flashは変更されますが、保存によってデータベースが更新されません。どんな助けも素晴らしいだろう。Laravel - 保存時にデータベースが更新されない

public function confirmLeague($id, $authToken) 
{ 
    $league = League::find($id); 

    if ($league == null || $league->AuthToken != $authToken || $league->Validated) 
    { 
     Session::flash('error', 'The league does not exist.'); 
     return redirect('/'); 
    } 

    $league->Validated = true; 
    $league->save(); 

    Session::flash('success', 'The league has been added.'); 
    return redirect('/'); 
} 

表スクリプト:問題を修正するために管理

 Schema::create('leagues', function (Blueprint $table) { 
     $table->increments('Id'); 
     $table->string('LeagueName', 250); 
     $table->string('City', 50); 
     $table->string('Province', 50); 
     $table->string('Sport', 50); 
     $table->string('Type', 10); 
     $table->string('Website')->nullable(); 
     $table->string('Person', 100); 
     $table->string('Phone', 20); 
     $table->string('Email', 100); 
     $table->string('Description', 250)->default(''); 
     $table->boolean('Validated')->default(FALSE); 
    }); 
+0

仕上げをリダイレクトするときには、フラッシュに何を得ていますか?エラーまたは成功? –

+0

'validated'(小文字)で試しましたか?ちょうど推測。 –

+0

フラッシュが成功を示しています。実行していますが、何もしていません。また、大文字と小文字の両方を試してみました(データベースに大文字で保存) – Feltie

答えて

0

。 laravelはデータベースの列名の大文字が好きではないことが分かります。私はちょうど小文字にすべての私の列の名前を変更し、それはあなたが単にクエリビルダではなく、雄弁を使用することができます

0

を働いていた、このコードは直接データベースにデータを更新する:)これはサンプルです:

DB::table('post') 
      ->where('id', 3) 
      ->update(['title' => "Updated Title"]); 

することができます詳しくはこちらのマニュアルを確認してください:

http://laravel.com/docs/5.0/queries#updates

関連する問題