parent child update parent value after deleting child record
parent child update parent value after deleting child record
Link to test case:
Debugger code (debug.datatables.net):
Error messages shown:
Description of problem:
Hi
I have created a parent child set-up for stock holdings as shown below

If I Create or Edit the child rows Quantity, the Parent Quantity value is updated to the SUM Of Child Quantity
This is controlled by the server code below
->on( 'postEdit', function ( $editor, $id, $values, $row ) {
$quantity = $row['dm_holdinglines']['quantity'];
$stmt = ('SELECT SUM(
IF(transaction_type="Buy",quantity,-quantity)
) AS quantity_sum
FROM dm_holdinglines
WHERE user_id = :userid
AND portfolio_id = :portfolio
AND stock_id = :stock
GROUP BY :portfolio, :stock
LIMIT 1');
$result = $editor->db()->raw()
->bind( ':transaction_type', $row['dm_holdinglines']['transaction_type'] )
->bind( ':quantity', $row['dm_holdinglines']['quantity'] )
->bind( ':userid', $_POST['userid'] )
->bind( ':portfolio', $row['dm_holdinglines']['portfolio_id'] )
->bind( ':stock', $row['dm_holdinglines']['stock_id'] )
->exec($stmt);
$qtysum = $result->fetch(PDO::FETCH_ASSOC);
$editor->db()->raw()
->bind( ':quantity', $qtysum['quantity_sum'] )
->bind( ':id', $row['dm_holdinglines']['holdings_id'] )
->exec( 'UPDATE dm_holdings
SET quantity = :quantity
WHERE id = :id' );
})
and an identical code snippet as above for
->on( 'postCreate', function ( $editor, $id, $values, $row ) { ... remaining block as above
Not my main question but can I join the two above snippets of the form or similar ??
```
->on( 'postCreate postEdit', function ( $editor, $id, $values, $row ) { ... remaining block as above
My main question is I need to be able to delete a child row
using postRemove or similar SUM Quantity child rows after deletion (in the same way as shown above for postCreate and postEdit)
UPDATE the Parent Quantity as shown above.
However the $row parameter is not available in the postRemove function, is there an alternative way.
I can provide access to my system if required.
Many Thanks
Colin
This question has an accepted answers - jump to answer
Answers
Sorry, this question was asked here and a response given
https://datatables.net/forums/discussion/65047/postdelete-function-cannot-get-working#latest
Thanks Colin
Hi Colin,
Just to confirm - are you happy with the replies in the other thread? Or is this still something that is ongoing?
Allan
Hi Allan
The deletion of a child row updating parent Quantity is now working by adding the same code block as shown above for the
postRemovein the server script and also changing all references to$rowto$values->on( 'postRemove', function ( $editor, $id, $values ) {Many Thanks
Colin