使用TextField laravel Nova将数据添加到属于资源

问题描述

嗨,有什么方法可以在一个请求中的两个表中插入数据。 我想要实现的是 我有两个模型,第一个用户模型,第二个是学生模型 用户模型具有电子邮件密码,而学生模型具有学生的其他配置文件详细信息 创建学生时,我也需要在用户表中插入一条记录,并将插入的实体与我的学生详细信息相关联,例如某些实体进入了学生详细信息,而某些用户模型与身份验证相关,我试图通过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

    }
}