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

Adding Data to Belongs to resource using TextField laravel Nova

你好有什么方法可以在一个请求中的两个 table 中插入数据 laravel nova belongsTo 关系 我想要实现的是 我有两个模型,第一个是用户模型,第二个是学生模型 用户模型有电子邮件和密码,学生模型有学生的其他个人资料 创建学生时,我还需要在用户的 table 中插入一条记录,并将插入的实体与我的学生详细信息相关联,比如一些实体进入学生详细信息,一些在与我试图实现的身份验证相关的用户模型中这与 laravel nova.

这是与学生的用户模型关系

 public function students(){
    return $this->hasMany('App\student','user_id','id');
}

这是与用户的学生模型关系

public function user(){
    return $this->belongsTo('App\User','user_id','id');
}

我也尝试使用 nova belongs to field 但它给了我现有用户的下拉列表,但我想一次性创建用户和学生,并且 link 他们彼此 https://nova.laravel.com/docs/2.0/resources/relationships.html#belongsto

我希望我能澄清我的观点,如果有任何问题可以随意询问或合作,谢谢

您可以在您的模型中执行此操作,您需要覆盖保存功能:

public function save(array $options = array()) {
    parent::save($options);
}

请注意,为了 link 您当前的模型到另一个模型,您需要在这一行之后这样做 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

    }
}