не может вставить в другую таблицу после регистрации

я хочу вставить в userbio после регистрации вот мой регистр RegisterController

   protected function create(array $data)
{
$databio = new ModelBio();
$maxbio =  $databio->getMaxbioId();
// die(  $maxbio );

return User::create([
'username'  => $data['username'],
'email'     => $data['email'],
'biodataId' =>   $maxbio,
'password'  => bcrypt($data['password']),
]);

return Biodata::create([
'biodataId' =>   $maxbio,
'fullname'  => $data['fullname']
]);

}

Создает новую запись для Users, Но есть проблема, которую я не могу вставить в usersbioЯ не могу найти там никакого сообщения об ошибке. Btw RegisterController от автора laravel. вот мой Biodata

class Biodata extends Model
{
//

protected $primaryKey = 'biodataId';
protected $table = "usersbio";
public $incrementing = false;

protected $fillable = [
'biodataId','address','fullname','remarks'
];

static function getMaxbioId(){

$max = Biodata::max('biodataId');
if($max == ""){
return "BIO-0001";
}else{

$number = substr($max, 4);
return 'BIO-' . sprintf('%04d', intval($number) + 1);

}
}

}

как я могу это исправить? заранее спасибо

1

Решение

Не пиши return при создании пользователя. Он на самом деле возвращается оттуда, и дальнейший код функции не будет выполнен.

protected function create(array $data)
{
$databio = new ModelBio();
$maxbio =  $databio->getMaxbioId();
// die(  $maxbio );

User::create([            // Removed `return` from here
'username'  => $data['username'],
'email'     => $data['email'],
'biodataId' =>   $maxbio,
'password'  => bcrypt($data['password']),
]);

return Biodata::create([
'biodataId' =>   $maxbio,
'fullname'  => $data['fullname']
]);

}
1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector