这是我试图实现的目标,但我无法以某种方式弄清楚如何链接和分散呼叫。
我有两个属性birthday,hire_date当值为空时返回 TODAYS 日期,当顶部的 while 循环被定义时。
while 循环中的以下插入定义为 0000-00-00 这正是我想要的,但我不希望在 Importer 类中定义birthday和验证:hire_date
$obj = $this->parseLine(utf8_encode($lines[$index]));
$arr = $this->mapObject($obj);
$record = $this->getRecord($obj);
if ($record) {
if ($obj->updated_date > $record->updated_date || $mode === 'refresh') {
if (empty($obj->birthday)) {
$record->fill([
'birthday' => ''
]);
unset($arr['birthday']);
}
if (empty($obj->hire_date)) {
$record->fill([
'hire_date' => ''
]);
unset($arr['hire_date']);
}
$record->fill($arr);
} else {
$record->timestamps = false;
}
$record->deleted_at = null;
} else {
$record = $this->createRecord($arr);
}
$record->touched_at = $now;
$record->save();
我想要实现的目标:
无论如何,我可以中断以下内容:
if (empty($obj->birthday)) {
$record->fill([
'birthday' => ''
]);
unset($arr['birthday']);
}
if (empty($obj->hire_date)) {
$record->fill([
'hire_date' => ''
]);
unset($arr['hire_date']);
}
$record->fill($arr);
并将我的解析器中的方法定义为:
return (object)[
'birthday' => ['function/method'],
];
所有帮助将不胜感激!
MYYA