У меня есть сайт, на котором работает Laravel 5, и я хотел бы создать в нем данные Webix. Мое понимание таблиц данных Webix состоит в том, что эти таблицы можно настроить для загрузки данных из базы данных Laravel с помощью контроллера, но я не вижу никакой информации о том, как информация о данных читается и сохраняется, когда для данных установлен режим редактирования.
Когда данные доступны для редактирования, нужно ли создавать контроллер для чтения и записи в базу данных? И если да, то как узнать, какие данные были изменены / должны быть обновлены в базе данных?
Для примеров того, как загрузить и сохранить данные в php, взгляните на это:
http://docs.webix.com/desktop__custom_serverside.html#dataloading
http://docs.webix.com/desktop__dataconnector.html
http://docs.webix.com/samples/14_dataprocessor/08_custom_urls.html
Для стороны javascript, использующей webix, вы можете позвонить save
dtable = new webix.ui({
container:"test",
view:"datatable",
editable: true
columns:[
{ id:"id", header:"Id", width:80},
{ id:"name", header:"Name", width:100},
{ id:"email", header:"Email", width:100}
],
url: "data/data_load.php",
datatype:"json" //can be omitted if json.
save: {
"insert":"data/data_insert.php",
"update":"data/data_update.php",
"delete":"data/data_delete.php"}
});
Вот рабочий пример вызов сохранить после переупорядочения (проверьте исходный код и запросы POST, которые вызывает datatable_order_save.php
).
Или вы можете использовать onAfterEditStop
в сочетании с некоторым сообщением ajax, которое должно позволить вам игнорировать, если обновление не удалось.
on: {
onAfterEditStop: function(state, editor, ignoreUpdate){
if(state.value != state.old){
// some $ajax() post to update values
}
}
}
Надеюсь, это поможет.
Других решений пока нет …