<?php

use Phalcon\Mvc\Model\Transaction\Manager as TxManager;
use Phalcon\Mvc\Model\Transaction\Failed as TxFailed;
try {
    $txManager = new TxManager();
    $transaction = $txManager->get();
    $robot = new Robots();
    $robot->setTransaction($transaction);
    $robot->name = 'WALL·E';
    $robot->created_at = date('Y-m-d');
    if ($robot->save() == false) {
        $transaction->rollback("Can't save robot");
    }
    $robotPart = new RobotParts();
    $robotPart->setTransaction($transaction);
    $robotPart->type = 'head';
    if ($robotPart->save() == false) {
        $transaction->rollback("Robot part cannot be saved");
    }
    $transaction->commit();
} catch (TxFailed $e) {
    echo 'Failed, reason: ', $e->getMessage();
}