[英]laravel firstOrNew doesn't work when using mutator for date
I'm trying to prevent importing duplicate records from csv file, everything is fine when checking for all items, but when I want to check for duplicate date, it doesn't work because in the model I'm using mutator function to change date format. 我试图防止从csv文件导入重复记录,检查所有项目时一切都很好,但是当我想检查重复日期时,它就不起作用了,因为在模型中,我使用的是mutator函数来更改日期格式。
public function setPostingdateAttribute($date) {
$this->attributes['postingdate'] = Carbon::createFromFormat('n/j/Y', $date)->format('Y/m/d');
}
in function for implementing importing csv file 在实现导入csv文件的功能中
$data = array_combine($escapedHeader, $columns);
$details = $data['details'];
$postingdate = $data['postingdate'];
$slip = $data['checkorslip'];
$addchecks = Checks::firstOrNew(['postingdate'=>$postingdate]);
$addchecks->details = $details;
$addchecks->slip = $slip;
$addchecks->save();
是的,这是已知问题,据我所记得,我过去曾经创建过Pull请求,可以解决该问题,但该请求被拒绝(或在Laravel github上提出),因此如果您使用firstOrNew
或firstOrCreate
可能会让您感到意外结果。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.