Problem importing/updating Tailor records

I’m having trouble importing Tailor records on one site while it’s perfectly OK on another.

Maybe someone can help me out.

  1. Site one - (clean) OC 3.7 install, demo theme, multisite with 3 sites.

Exported data from demo Blog blueprint.

Imported/updated the same data with no problem (checked “Update existing records”).

  1. Site two, OC3.7 install, custom theme, multisite with 3 sites.

Duplicate of Blog blueprint from site 1 (the same that comes with Demo theme).

Exported data from demo Blog blueprint.

Importing the same data throw a notice Record ID already exists even with “Update existing records” checkbox checked


I went through code to find why and found this:

In file modules/backend/behaviors/importexportcontroller/ActionImport.php there is a method to bind ImportOptions from request to model on line 42:

if ($optionData = post('ImportOptions')) {
            $model->fill($optionData);
        }

This works perfectly on site 1 and Tailor\Models\RecordImport has an attribute update_existing set and so it updates imported records.

But on site 2 this doesn’t work and attribute update_existing is not added to the RecordImport model and this ends with notice Record ID already exists.

The only way I was able to fix this on site 2 was to change method $model->fill($optionData) to $model->forceFill($optionData) in ActionImport.php or to add fillable['update_existing'] attribute to RecordImport.php model.

Tailor’s RecordImport doesn’t have attribute fillable (not even parent ImportModel) so this make sense, but how is this working on site 1 but not on site 2?

Both sites has identical environment (Valet with PHP8.2, OC3.7.11) and identical Blog Posts blueprints from Demo theme.

Does anyone have any experience with this?