У меня есть простая таблица с использованием левого соединения:
Editor::inst( $db, 'enqitem', 'enqitemid')
->fields(
Field::inst( 'salstkitem.salsubid' ),
Field::inst( 'salstkitem.condition1' ),
Field::inst( 'enqitem.cost' )
)
->leftJoin('salstkitem', 'salstkitem.salsubid', '=', 'enqitem.itemid')
->where('enqitem.enqnr',141316)
->debug( true )
->process( $_POST )
->json();
В редакторе я скрыл первичный ключ таблицы, не являющейся хостом:
editor = new $.fn.dataTable.Editor( {
ajax: "datatables.php",
table: "#example",
fields: [{
name: "salstkitem.salsubid",
type: "hidden"
},{
label: "Condition:",
name: "salstkitem.condition1"
},{
label: "Cost:",
name: "enqitem.cost"
}
]
});
Я установил его для редактирования внутри строки:
$('#example').on( 'click', 'tbody td:not(:first-child)', function (e) {
editor.inline( this, {
onBlur: 'submit'
} );
});
Когда я редактирую inline, стоимость успешно обновляется, так как она является членом таблицы хостов. Однако условие 1 не будет обновлено.
Если я выберу кнопку РЕДАКТИРОВАТЬ, оба поля обновятся успешно.
Эта проблема предназначена только для встроенного редактирования.
Кто-нибудь знает, почему?
Отладка предполагает, что он вообще не пытается обновиться. Это чисто запрос SELECT.