#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 таблицы, есть какие-нибудь предложения?