Я полагаю, поскольку вы указали в теге Yii, что вы на самом деле используете Yii?Нормальным было бы создать класс activerecord для каждого из них.Вам все равно придется перенести полученный PartyId в один из двух других классов.В большинстве случаев это делается с помощью назначения.
$oTransaction = Yii::app()->db->beginTransaction;
$oParty->save();
if ($oParty->PartyType == ...)
{
$oBusiness->BusinessId = $oParty->PartyId;
$oBusiness->save();
}
else
Do User things
$oTransaction->commit();
Вероятно, лучше было бы сделать это, возможно, даже использовать наследование в классах AR, но я не знаю, спасет ли это какую-либо работу,Лучше всего дать вашей модели Party функцию, которая будет возвращать экземпляр Business или User, я думаю.
Самым чистым способом было бы также сохранить бизнес / пользователя в методе AfterSave () части, где у вас есть PartyId.Но тогда вашей партийной модели нужны данные для этого.