Witam, mam problem z wywołaniem funkcji z innego modelu (nie wiem w którym momencie to wywołać).
Mam 2 tabele:
-
Płatności
-
Kwartalnie
W tabeli płatności wpisuje kwotę, datę i userId, po utworzeniu przekazuję te dane do formularza Kwartalnie. Po wykonaniu wszystkiego - tzn. stworzeniu płatności z tyloma i tyloma ratami itd chciałbym wywołać funkcję która oblicza mi saldo danego użytkownika w płatnościach.
Tutaj pojawia się problem, ponieważ obliczenia są dokonywane dopiero po wpisaniu i zapisaniu w bazie Kwartalnie. Kolejność: Płatności -> Kwartalnie -> Obliczenie salda. Jak mogę to zrobić ? W modelu Kwartalnie po afterSave() ? W kontrolerze ?
Obliczenie salda
public function getTotals($ids)
{
$connection=Yii::app()->db;
$command=$connection->createCommand("SELECT SUM(rata1) FROM `kwartalnie` where payment_paymentId=$ids");
(...)
$command5=$connection->createCommand("SELECT SUM(wplata1) FROM `kwartalnie` where payment_paymentId=$ids");
(...)
$amount = $command->queryScalar();
$rest = $command5->queryScalar();
return $wynik = $rest-$amount;
}
Myślałem nad czymś w rodzaju:
W modelu Kwartalnie funkcja afterSave() i dać coś ala $model->saldo = $model-> getTotals(), ale samo wywołanie robi się dla mnie zbyt zagmatwane…