2016-12-21 3 views
1

私はLaravel 5.2で作業しています。テーブルにデータを挿入するためにAjaxでフォームを提出しました。 これは、コントローラの私の関数である。

public function saveChange(Request $request) { 
      if($request->ajax()) { 
        Affectationabc::create($request->all()); 
        return response()->json([ 
          'testdata' => $request->all() 
        ]); 
      } 
    } 

そして、私は現在の年の最初の日と2人の列の最後の日、同じ時刻に追加します。

私はこのような何かしようとした:

public function saveChange(Request $request) { 
      if($request->ajax()) { 
        $firstDay = date('l',strtotime(date('Y-01-01'))); 
        $lastDay = date('l',strtotime(date('Y-12-31'))); 
        $request->merge(array('HISTO_AFFECT_DATE_DEB' => $firstDay, 'HISTO_AFFECT_DATE_FIN' => $lastDay)); 
        Affectationabc::create($request->all()); 
        return response()->json([ 
          'testdata' => $request->all() 
        ]); 
      } 
    } 

をしかし、それはおそらく、日付の形式で、作品はありません。私の列HISTO_AFFECT_DATE_DEBとHISTO_AFFECT_DATE_FINは、形式Y-m-dの日付です。

どうすればいいですか?

EDIT:

はたぶん私のモデルに問題がある、これは私のコードです:

use Illuminate\Database\Eloquent\Model; 

class Affectationabc extends Model 
{ 
protected $table = "Histo_AFFECT_ABC"; 
protected $primaryKey = 'HISTO_AFFECT_ID'; 

const CREATED_AT = 'HISTO_AFFECT_DATE_CREA'; 
const UPDATED_AT = 'HISTO_AFFECT_DATE_MAJ'; 

protected $dates = ['HISTO_AFFECT_DATE_CREA','HISTO_AFFECT_DATE_MAJ','HISTO_AFFECT_DATE_DEB','HISTO_AFFECT_DATE_FIN']; 

protected function getDateFormat() 
{ 
    return 'Y-m-d'; 
} 


protected $fillable = [ 
    'HISTO_AFFECT_ID_CATEG', 
    'HISTO_AFFECT_ID_PERSONNEL', 
    'HISTO_AFFECT_DATE_DEB', 
    'HISTO_AFFECT_DATE_FIN', 
    'HISTO_AFFECT_COMMENTAIRES', 
    'HISTO_AFFECT_DATE_CREA', 
    'HISTO_AFFECT_DATE_MAJ' 
]; 


public function setHistoAffectDateDebAttribute($value) 
{ 
    $this->attributes['HISTO_AFFECT_DATE_DEB'] = \Carbon\Carbon::createFromFormat('d/m/Y', $value)->format('Y-m-d') ; 
} 

public function setHistoAffectDateFinAttribute($value) 
{ 
    $this->attributes['HISTO_AFFECT_DATE_FIN'] = \Carbon\Carbon::createFromFormat('d/m/Y', $value)->format('Y-m-d') ; 
} 
} 

EDIT2:私がこれを追加しようとしたとき、私は、エラー500を持っているようです日付 !

+0

$ firstDay = date( 'Y-01-01'); $ lastDay =日付( 'Y-12-31'); –

答えて

1

あなたはどのようなエラーがあなたが得るかについては何も言うが、それは関連の日付だならば、Carbonを使用しようとしませんでした:

$firstDay = Carbon::now()->startOfYear()->format('Y-m-d'); 
$lastDay = Carbon::now()->endOfYear()->format('Y-m-d'); 
+0

はい、申し訳ありませんが、私は何も見ません、私はちょうど新しいenbtryがないので、リクエストが正しく実行されていないことがわかります... – K4tn1x

+0

私はもう少しチェックして、私はエラー500があります! – K4tn1x

+0

最後のエラーメッセージは 'storage \ logs \ laravel.log'で確認できます。私の答えのコードを使ってみましたか? –

0

私は競合を作成し、私のモデルでは、この2つの関数だった:

public function setHistoAffectDateDebAttribute($value) 
{ 
$this->attributes['HISTO_AFFECT_DATE_DEB'] = \Carbon\Carbon::createFromFormat('d/m/Y', $value)->format('Y-m-d') ; 
} 

public function setHistoAffectDateFinAttribute($value) 
{ 
$this->attributes['HISTO_AFFECT_DATE_FIN'] = \Carbon\Carbon::createFromFormat('d/m/Y', $value)->format('Y-m-d') ; 
} 

私はそれらを削除し、私は私のコントローラでこれをやった:

public function saveChange(Request $request) { 
      if($request->ajax()) { 
        $firstDay = Carbon::now()->startOfYear()->format('Y-m-d'); 
        $lastDay = Carbon::now()->endOfYear()->format('Y-m-d'); 
        $request->merge(array('HISTO_AFFECT_DATE_DEB' => $firstDay, 'HISTO_AFFECT_DATE_FIN' => $lastDay)); 
        Affectationabc::create($request->all()); 
        return response()->json([ 
          'testdata' => dd($request->all()) 
        ]); 
      } 
    } 

そしてすべてが完璧に動作します!ログにエラーが見つかりました。ありがとうございました!

関連する問題