Не удается ввести данные в 2 таблицы в базе данных с контроллера из-за уникального

#laravel #model-view-controller #controller

Вопрос:

Добрый день и спасибо, что прочитали эту страницу.

Я новичок в laravel, и у меня возникла проблема при использовании контроллера для вставки данных в таблицы

Вот код

 public function insert(Request $request){  $lValidated = $request-gt;validate([  'password' =gt; 'required|min:5|max:255',  'pUserId' =gt; 'required|min:5|max:5|unique:logins',  ]);   $pValidated = $request-gt;validate([  'pNamaLengkap' =gt; 'required|max:255',  'pUserId' =gt; 'required|min:5|max:5|unique:profiles'  ]);   $lValidated['password'] = Hash::make($lValidated['password']);   profiles::create($pValidated);  login::create($lValidated); }  

Миграции(логины):

 public function up() {  Schema::create('logins', function (Blueprint $table) {  $table-gt;string('pUserId',5)-gt;primary();  $table-gt;foreign('pUserId')-gt;references('pUserId')-gt;on('profiles')-gt;nullable();  $table-gt;string('password');  $table-gt;timestamps();  }); }  

Миграция(профили):

 public function up() {  Schema::create('profiles', function (Blueprint $table) {  $table-gt;string('pUserId',5)-gt;primary();  $table-gt;string('pNamaLengkap', 100);  $table-gt;timestamps();  }); }  

нет никаких проблем при вставке данных в 1 таблицу (профили)

но когда я хочу вставить данные в 2 таблицы, ошибка говорит о том, что «pUserId» уже был взят(данные вставлены в профили, но в таблице входа была эта ошибка)

я думаю, что проблемы возникают, когда я использую «уникальный», но я должен использовать его, чтобы не было такого же идентификатора, или, может быть, проблема в внешнем ключе

в принципе, как только данные вставляются, это работает, и данные вставляются в таблицу профилей, но когда данные вставляются в таблицу профилей, они не могут быть вставлены в таблицу входа, потому что в таблице профилей есть один и тот же идентификатор пользователя

я хочу, чтобы он сделал так, чтобы его можно было вставить в эти 2 таблицы, есть какие-нибудь предложения?