当使用mutator作为日期时,laravel firstOrNew不起作用

时间:2017-12-20 16:18:47

标签: php laravel csv

我正在尝试阻止从csv文件导入重复记录,检查所有项目时一切正常,但是当我想检查重复日期时,它不起作用,因为在模型中我使用了mutator函数更改日期格式。

public function setPostingdateAttribute($date) {
    $this->attributes['postingdate'] = Carbon::createFromFormat('n/j/Y', $date)->format('Y/m/d');
}

用于实现导入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();

1 个答案:

答案 0 :(得分:1)

是的,这是已知的问题,据我所知,我已经创建了过去的Pull请求,但会被拒绝(或者在Laravel github上提出),以防你使用{{1}的mutators }或firstOrNew可能会给你带来意想不到的结果。