Child created/updated upon creation/update of the parent
Child created/updated upon creation/update of the parent
Hello,
I have 2 tables:
Transaction
*id
*date
*amount
*flowid
Flow
*id
*date
*amount
My datatables works fine for the 1st one.
But what I am trying to do is:
1. when creating the transaction, it creates as well the flow at the same time
2. when updating the transaction, it updates the flow (example: amount or date, based on the amount or date of the transaction) at the same time
It is not exactly a parent child editor because I want the flow to be created automatically.
Did anyone manage to implement something similar?
Replies
Add this to your php Editor for "transaction"
I would not recommend to do the UPDATE without having a foreign key of "transaction" in "flow" because the update might go wrong if you only do the matching based on the previous amount and date of the transaction. Hence my code requires the implementation of "transaction_id" as foreign key in table "flow".
Flow
*id
*transaction_id
*date
*amount
If you are not reading back the changed "flow" entries with this Editor, you can also use "postCreate" and "postEdit". Then you can also use "$row" to use the values read back from table "transaction".
You can also use your own db-handler in the above events with "global".
Thank you rf1234.
As a matter of fact, although I did not mention it, I had a transaction_id equivalent field.
I followed your code but am getting the following message: Undefined array key "date".
I will look into it and keek you posted
If you want more flexibility, you can also use Editor's "raw" method with real SQL like this
Hi rf1234,
Thanks, but this method leads to the same result:
The transaction_id works fine but the debug highlights a null value returned for date and amount
Any idea of where it can come?
I think you need to check the $values array in your debugger.
Does $values['tms_ft_financialtransaction.TransactionDate'] exist at all? If so what does it contain? Same applies to $values['tms_ft_financialtransaction.TransactionAmount'].
I am pretty sure both don't exist.
You should probably use this:
$values['tms_ft_financialtransaction']['TransactionDate'] and
$values['tms_ft_financialtransaction']['TransactionAmount']
I don't see any set formatting. Do you really return the date and the amount from the client in database format? I usually return those values as formatted values depending on the user language
e.g. "1.000.000,99" and "23.11.2024" or "1,000,000.99" and "23/11/2024"
Then I use set formatters to get 1000000.99 and "2024-11-23 00:00;00"
Here is something I use for dates and amounts
Thanks rf1234!
Looks like I indeed had to use
instead of
I still doesn't update the child, but I have no more error message and I will keep working on it.