【发布时间】:2019-07-13 07:44:27
【问题描述】:
在一个 Laravel 项目中,我想使用 Laravel 身份验证表“用户”来拥有一个外域键来指向另一个表作为抽象层。有没有办法强制用户注册向该抽象层表添加一行?它的模型很简单,只有一个属性。
我的注册控制器: ` 受保护的函数创建(数组 $data){
Rekvirent::create([
'rekvirent' => $data['initialer'],
]);
return User::create([
'initialer' => $data['initialer'],
'name' => $data['name'],
'email' => $data['email'],
'password' => Hash::make($data['password']),
]);
}
` 我从 mysql 收到一条错误消息,提示存在外键错误,表明在用户表中插入行时尚未插入 rekvirent。
我的rekvirent模型如下
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Rekvirent extends Model {
public $timestamps = false; // dumps timestamps from table
public $incrementing = false; // if no autoincrementing
protected $table = 'rekvirent'; // change default snake-case name
protected $keyType = 'string'; // if key is not integer
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'initialer',
];
/*
public function user() {
return $this->hasOne('App\User');
}
*/
}
【问题讨论】:
-
你在说什么“抽象”,为什么需要它?
-
请分享您的代码
-
抽象是在预订系统中将两个类转换为一个类所必需的。注册用户就是其中之一。