就我而言,我有一个用户
Schema::create('users', function (Blueprint $table) {
$table->increments('id');
$table->unsignedInteger('address_id')->nullable();
$table->foreign('address_id')->references('id')->on('addresses');
$table->string('first_name');
$table->string('insertion')->nullable();
$table->string('last_name');
$table->string('email')->unique();
$table->timestamp('email_verified_at')->nullable();
$table->string('password');
$table->string('phone_number');
$table->string('avatar')->nullable();
$table->rememberToken();
$table->timestamps();
$table->softDeletes();
});
我有一个地址
Schema::create('addresses', function (Blueprint $table) {
$table->increments('id');
$table->string('city');
$table->string('street');
$table->string('zip_code');
$table->string('state');
$table->string('house_number');
$table->timestamps();
});
是否可以在同一Nova用户资源中创建一个新用户并向其添加地址?
我们可以在资源的字段功能中添加什么?
我需要覆盖默认的创建方法吗?还是可以使用belongsTo来解决此问题?
当前我可以使用
morhpOne
方法,但这不是我想要的。我首先必须创建一个用户,然后再添加一个地址。
答案 0 :(得分:1)
这应该很简单,在您的Nova User模型中添加
BelongsTo::make('Address');
Address
字段应代表您的User
模型中返回地址关系的函数
所以您的用户应该有
public function address()
{
return $this->belongsTo(Address::class);
}
我希望这就是您要寻找的东西,如果有更多信息,我将很乐意更新我的答案。