问题描述
嗨,有什么方法可以在一个请求中的两个表中插入数据。 我想要实现的是 我有两个模型,第一个是用户模型,第二个是学生模型 用户模型具有电子邮件和密码,而学生模型具有学生的其他配置文件详细信息 创建学生时,我也需要在用户表中插入一条记录,并将插入的实体与我的学生详细信息相关联,例如某些实体进入了学生详细信息,而某些用户模型与身份验证相关,我试图通过laravel nova实现
这里是用户模型与学生的关系
@Composable
fun ExpandingCircle() {
val (checked,setChecked) = remember { mutableStateOf(false) }
val radiusExpandFactor = if (checked) 1f else 0f
val radiusExpandFactorAnimated = animate(radiusExpandFactor)
Canvas(
modifier = Modifier.fillMaxSize()
.clickable(onClick = { setChecked(!checked) }),onDraw = {
val radius = 4.dp.toPx() + (radiusExpandFactorAnimated * (size.width / 2 - 4.dp.toPx()))
drawCircle(color = Color.Black,radius = radius)
}
)
}
这里是与学生的学生模型关系
public function students(){
return $this->hasMany('App\student','user_id','id');
}
我也尝试使用nova属于字段,但是它给了我现有用户的下拉菜单,但是我想一次性创建用户和学生,并相互链接 https://nova.laravel.com/docs/2.0/resources/relationships.html#belongsto
我希望澄清我的观点,如果有任何问题可以询问或合作,谢谢
解决方法
您可以在模型中执行此操作,您需要覆盖保存功能:
public function save(array $options = array()) {
parent::save($options);
}
请注意,为了将当前模型链接到另一个模型,您需要在该行之后执行以下操作:parent :: save($ options);因为您无法在将模型实际保存到数据库之前获取当前记录的$ this->“ primary_key”
例如:
class Student
{
public function save(array $options = array()) {
$user = new User();
$user->property1 = '';
$user->property2 = '';
$user->save();
parent::save($options);
//Here you can get the $this->studentid
//Or the $user->userid
}
}