Laravel Nova 2 модели в 1 ресурсе - PullRequest
0 голосов
/ 11 декабря 2018

В моем случае у меня есть пользователь

 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();
    });

Можно ли создать нового пользователя и добавить к нему адрес в том жеНовый пользовательский ресурс?

Что мы можем добавить в функцию поля Ресурса?

Нужно ли перезаписывать метод создания по умолчанию?Или это можно исправить с помощью ownTo?

В настоящее время я заставил его работать с использованием

morhpOne

, но это не то, что я хочу,Сначала мне нужно создать пользователя, а после этого я могу добавить адрес.

1 Ответ

0 голосов
/ 12 декабря 2018

Это должно быть просто, в вашей модели Nova User добавьте

BelongsTo::make('Address');

Поле Address должно представлять функцию в вашей модели User, которая возвращает отношение адреса

Таку вашего пользователя должно быть

public function address()
{
    return $this->belongsTo(Address::class);
}

Я надеюсь, что это то, что вы ищете, я буду рад обновить мой ответ, если будет предоставлена ​​дополнительная информация.

...