Php 在$request laravel中插入带有日期的列
我使用的是Laravel5.2,我用Ajax提交了一个表单,用于在表中插入数据。 这是我在控制器中的功能:Php 在$request laravel中插入带有日期的列,php,laravel,date,controller,Php,Laravel,Date,Controller,我使用的是Laravel5.2,我用Ajax提交了一个表单,用于在表中插入数据。 这是我在控制器中的功能: public function saveChange(Request $request) { if($request->ajax()) { Affectationabc::create($request->all()); return response()->json(
public function saveChange(Request $request) {
if($request->ajax()) {
Affectationabc::create($request->all());
return response()->json([
'testdata' => $request->all()
]);
}
}
我想在其他两列中同时添加今年的第一天和最后一天
我试着这样做:
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_impact_DATE_DEB和HISTO_impact_DATE_FIN是格式为Y-m-d的日期
请问我怎么做
编辑:
我的模型可能有问题,这是我的代码:
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 您没有告诉任何人您会遇到什么错误,但如果是与日期相关的错误,请尝试使用:
我的模型中有两个函数产生了冲突:
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())
]);
}
}
一切都很完美!我在日志中发现了错误,谢谢大家 $firstDay=日期('Y-01-01');$lastDay=日期('Y-12-31');如果工作是很抱歉,但我什么也没看到,我只是看到请求没有正确执行,因为没有新的enbtry…您可以在
storage\logs\laravel.log
中查看最后一条错误消息。您是否尝试使用我的答案中的代码?我找到了解决方案,您的代码工作得很好,但我的控制器2函数在注册前设置了此值,并产生了冲突,我在我的模型中删除了它们*不在我的控制器中抱歉
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())
]);
}
}