Передача отношения Laravel от пользователя к другому - PullRequest
0 голосов
/ 29 сентября 2018

У меня есть таблица с именем lands, в которой есть земли, принадлежащие users, пользователь может занять другую землю пользователя и забрать ее.Итак, я хочу изменить таблицу user_id in land, чтобы она принадлежала оккупанту.

Таблица земель:

$table->increments('id');
        $table->string('name');
        $table->smallInteger('size');
        $table->smallInteger('type')->default(0)->comment('0 is village, 1 is city ');
        $table->integer('user_id')->unsigned();
        $table->foreign('user_id')->references('id')->on('users')
        ->onUpdate('cascade')->onDelete('cascade');

есть ли в eloquent способ изменить user_id соответствовать новому пользователю?

1 Ответ

0 голосов
/ 29 сентября 2018

Есть несколько способов сделать это через Eloquent:

Создание user_id заполняемого :

, если вы сделаете user_id заполняемым в модели LandВы можете заполнить его с помощью простого

$land->update(['user_id' => $newUser->id])

в своем коде.

Другим вариантом является рекомендуемый способ Eloquent :

Использование

$land->user()->dissociate();
$land->user()->associate($newUser->id);
$land->save();

Чтобы сменить пользователя, в настоящее время зарегистрированного в отношении BelongsTo.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...