0) { $model = static::findOne((int)$data['id']); } if(!$model && isset($data['task_id']) && $data['newsletter_id']) { $model = self::where('newsletter_id', $data['newsletter_id']) ->where('task_id', $data['task_id']) ->findOne(); } if(!$model) { $model = static::create(); $model->hydrate($data); } else { unset($data['id']); $model->set($data); } return $model->save(); } }