How to edit an element from a database view?

bartschepens

New Member
I have a element that is calculated (via SUM(...)) in a database view. That view is joined to another table in Fabrik. We want to switch this element to read-only, but when we try to save the changes we get this error:

500 alter structure: 'deb101132_excellent.vw_totpunten' is not BASE TABLE SQL=ALTER TABLE `vw_totpunten` ADD COLUMN `aantal_punten` DECIMAL(32,0) AFTER `aantal punten`

How can we solve this problem?
 
Set your list (temporarily) to "Alter field types"=no (Advanced tab).
This should prevent Fabrik from trying to modify anything in the database.
 
Thanks for your reply!

Unfortunately, when we try to set it to read-only or set the privileges of the SUM(...)-element, the whole list to which the view is joined doesn't work. We get the following error:

500 Fabrik has generated an incorrect query for the list Leerling: <br /><br /><pre>Unknown column 'vw_totpunten.aantalpunten' in 'field list' SQL=SELECT SQL_CALC_FOUND_ROWS DISTINCT `leerling`.`leerjaar` AS `leerling___leerjaar`, `leerling`.`leerjaar` AS `leerling___leerjaar_raw`, `leerling`.`llnr` AS `leerling___llnr`, `leerling`.`llnr` AS `leerling___llnr_raw`, `leerling`.`voornaam` AS `leerling___voornaam`, `leerling`.`voornaam` AS `leerling___voornaam_raw`, `leerling`.`tussenvoegsel` AS `leerling___tussenvoegsel`, `leerling`.`tussenvoegsel` AS `leerling___tussenvoegsel_raw`, `leerling`.`achternaam` AS `leerling___achternaam`, `leerling`.`achternaam` AS `leerling___achternaam_raw`, `vw_totpunten`.`llnr` AS `vw_totpunten___llnr`, `vw_totpunten`.`llnr` AS `vw_totpunten___llnr_raw`, `vw_totpunten`.`aantalpunten` AS `vw_totpunten___aantalpunten`, `vw_totpunten`.`aantalpunten` AS `vw_totpunten___aantalpunten_raw`, `leerling`.`llnr` AS slug , `leerling`.`llnr` AS `__pk_val` FROM `leerling` LEFT JOIN `vw_totpunten` AS `vw_totpunten` ON `vw_totpunten`.`llnr` = `leerling`.`llnr` ORDER BY `leerling`.`leerjaar` DESC, `leerling`.`achternaam` ASC, `leerling`.`voornaam` ASC LIMIT 0, 50</pre>

The only way to solve it, is to delete the join and re-add it.
 
We are in need of some funding.
More details.

Thank you.

Members online

Back
Top