Neues Editor Feld speichern

Ich habe im Backend ein seperates Attribute aus s_order_detials_attributes im LIsting als Checkbox dargestellt und möchte natürlich, dass dieses mit gespeichert wird.

 

Kann dies in den Prozess mit eingebunden werden oder muss ich das separat speichern zb.

 

//{block name="backend/order/view/detail/position" append}
Ext.define('Shopware.apps.Order.view.detail.BackPosition', {
    override: 'Shopware.apps.Order.view.detail.Position',

.....

traceGridEvents: function() {
        var me = this;
        me.rowEditor.on('edit', function (editor, e) {
            if((e.newValues.md_express != e.originalValues.md_express) && e.record.internalId){

                //hier den wert in s_order_details_attributes überschreiben
                console.log('SET md_express to '+e.newValues.md_express+' in table s_order_details_attributes detailID:'+e.record.internalId)
            }

        });

});
//{/block}

 

Wie speichere ich das ganze elegant ab ohne jetzt AJAX zu verwenden.

Ich habe das ganze jetzt über den Controller gesteuert

//{block name="backend/order/controller/detail"}
//{$smarty.block.parent}
Ext.define('Shopware.apps.Order.controller.BackendDetail', {
    override:'Shopware.apps.Order.controller.Detail',


    onSavePosition: function(editor, e, order, options) {
        var me = this;
        originalCallback = options.callback;
        var customCallback = function(AttributeFields, success) {
            Ext.callback(originalCallback, this, arguments);

            Ext.Ajax.request({
                method: 'POST',
                url: '{url controller=AttributeData action=saveData}',
                params: {
                    _foreignKey:AttributeFields.internalId,
                    _table: 's_order_details_attributes',
                    __attribute_md_express: Number(false)
                        }
            });
        };

        if (!options.callback || options.callback.toString() !== customCallback.toString()) {
        options.callback = customCallback;
        }

        me.callParent([editor, e, order, options]);
    }
});
//{/block}

da erhalte ich die meldung

 

An exception occurred while executing ‘INSERT INTO s_order_details_attributes (md_express, detailid) VALUES(?, ?)’ with params [“0”, “1521”]:

Er sollte eigentlich ein UPDATE durchführen und vorallem warum detailid anstelle von detailID