【发布时间】:2018-02-25 07:44:43
【问题描述】:
我一直在尝试使用表 A 中已创建记录的 id 创建表 B 的记录。但由于某种原因,即使我已经转储了模型 id 的值并且它是正确的,该字段始终为空.但是当我将它分配给表 B 中的一个字段时,它不会插入它。我没有收到任何错误,并且两条记录都已创建(在表 A 和 B 中),但是应该具有模型 A 的 ID 的字段的值为 NULL。
我已经将该字段添加到模型类中的 $fillable 数组中:
protected $fillable = [
'name', 'email', 'password', 'phone', 'role', 'A_id',
];
这是我尝试过的代码。请帮我解决这个问题。
if($data['role'] == 'admin'){
$tableA = TableA::create([
'name' => $data['name'],
'phone' =>$data['phone']
]);
return TableB::create([
'A_id' => $tableA->id,
'name' => $data['nameB'],
'email' => $data['email'],
'role' => $data['role'],
'phone' => $data['phoneB'],
'password' => bcrypt($data['password']),
]);
}
这是 TableB 的迁移文件
public function up()
{
Schema::create('tableB', function (Blueprint $table) {
$table->increments('id');
$table->integer('A_id')->unsigned()->nullable();
$table->string('phone', 10)->unique();
$table->string('name');
$table->string('role');
$table->integer('address_id')->nullable();
$table->string('email')->unique();
$table->string('password');
$table->rememberToken();
$table->timestamps();
$table->softDeletes();
});
}
【问题讨论】: