php - 使用 TextField laravel Nova 将数据添加到资源
问题描述
嗨,有什么方法可以在一个请求中在两个表中插入数据 laravel nova belongsTo 关系我想要实现的是我有两个模型,第一个是用户模型,第二个是学生模型用户模型有电子邮件和密码并且学生模型在创建学生时具有学生的其他分析详细信息我还需要在用户表中插入一条记录,并将插入的实体与我的学生详细信息相关联,例如某些实体进入学生详细信息,而用户模型中的某些实体与身份验证相关我正在尝试使用 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 属于字段,但它为我提供了现有用户的下拉列表,但我想一次性创建用户和学生并将它们相互链接 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
}
}
推荐阅读
- sql - Go SQL 连接器不会给我特殊选择查询的结果
- java - Java Array嵌套for循环,不清除第二个for回到第一个
- java - 打包为 .jar 时,vscode 控制台中的 Java 代码无法正常运行
- java - 对话框 NullPointException
- sas - 在 SAS/WPS 中使用 if then 语句设置宏变量
- jquery - JQuery 可排序“Out”事件
- ceph - CEPH Octupus:ceph 命令挂起。普罗米修斯也没有数据
- javascript - vue 从外部 vue 导入数据用于组件,是否需要深拷贝
- java - 如何使 Intellij IDEA 仅在悬停时显示推断局部变量的 Java 类型提示?
- text - 如何将没有列名的文本文件导入 SAS 格式 SAS Viya?