我在一个项目工作,我开始学习 Laravel,我想创建一个注册表单,您可以将所有信息和所有要发送的信息放在 3 个表中。
您必须选择您是候选人还是雇主。
在我的数据库中,我有这 3 个表:users
、profile_employee
和 profile_employer
。
有人可以告诉我如何创建 RegisterController
以仅在表中插入用户的电子邮件和密码,以及他们是否选择候选人将其余信息发送到 profile_employee
,以及他们是否选择雇主将其发送到表profile_employer
。谢谢!
这是我的 ProfilasdasdasdasdasdasdasdasdasdeEmployeer
和 ProfileEmployee
的模型
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class ProfileEmployee extends Model
{
protected $table = 'profasdasdasdasdile_emploasdasdasdasdyee';
protected $fillable = [
'id','usasdasdasder_id', 'fiasdasdasdasdasdst_name', 'laasdasdst_namasdasdasdasdasde','phonasdasdasde', 'casdasdv', 'picasdasdasdasdture', 'adrasdasdasdasdasdess', 'toasdasdasdasdasdasdwn',
];
protected $hidasdasdasdasdasdden = [];
}
和
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class ProfileEmployer extends Model
{
protected $tablasdasdasdasde = 'profileasdasdasdasdasdasdasd_emplasdasdasdasdasdasdoyer';
protected $fillabasdasdasdasdle = [
'iasdasdasdd','useasdasdr_iasdasdasdasdasdasd', 'coasdasdasdasdasdmpany_naasdasdasdasdasdme', 'CasdasdasdU_asdasdI', 'phoasdasdasdasdasdne', 'pictasdasdasdasdasdure', 'adasdasdasdasdress', 'towasdasdasdasdasdn',
];
protected $hidasdasdasdden = [];
}
我该如何做RegistasdasdasdasdasdasdasderController
?
最佳答案
在不编写任何代码的情况下,我认为最好的方法是创建多态关系,文档中有一些示例代码- https://laravel.com/docs/5.8/eloquent-relationships#one-to-one-polymorphic-relations
因此,在您的用户表中,您将有一个 userable_type 和 userable_id (不确定它们的名称是否正确)。 userable_type 列将包含您的 ProfileEmployee 表或 ProfileEmployer 表的模型名称,以及 userable_id 关系的外键。
正如您在文档中看到的,您可以检索关系,laravel 将通过 userable_type 列知道要使用哪个模型。
查看您的表,但我认为您可以将配置文件合并到一个表中,并且可能有一个用于数据的元数据列,该数据并不总是为两种用户类型存储。
关于php - 注册时,在3个表中插入数据LARAVEL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55444124/