yii2绑定两个新的模型通过id创建相同的行动

问题描述:

有一个行动,我在创建几个模型同时都从ActiveRecord扩展。yii2绑定两个新的模型通过id创建相同的行动

<?php class User extends ActiveRecord 
{ 

} 
class Balance Extends ActiveRecord 
{ 

} 

控制器类:

... 
actionSignup(){ 
    $model = new User(); 
    $balance = new Balance(); 
    $user->balance_id = ???; 
    $balance->user_id = $user->balance_id; 
} 

所以直到我不保存任何模型,我不能得到这个型号的ID!绑定这些模型的最好方法是在代码中生成一些唯一的ID并将特定的列添加到数据库中?

+0

一旦你保存了firts模型,你就有了相关的id ..你可以正确地申请到第二个.. – scaisEdge

+0

true!如果我在使用余额前保存用户模型,我可以获得ID!谢谢 – user4023517

+0

这是activeRecord的基本行为 – scaisEdge

actionSignup(){ 
    $balance = new Balance(); 
    $balance>save(); 
    $model = new User(); 
    $user->balance_id = $balance->id; 
    $user->save(); 
    $balance->user_id = $user->user_id; 
    $balance->save(); 
} 
+1

感谢您使用此代码段,这可能会提供一些有限的即时帮助。通过展示*为什么*这是一个很好的解决方案,并且会使它对未来的读者更有用,一个正确的解释[将大大提高](// meta.stackexchange.com/q/114762)其长期价值其他类似的问题。请[编辑]你的答案以添加一些解释,包括你所做的假设。 –