Я работаю над 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, когда я пытаюсь добавить это даты!
$ firstDay = дата ('Y-01-01'); и $ lastDay = date ('Y-12-31'); должен работать –