я хочу вставить в 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);
}
}
}
как я могу это исправить? заранее спасибо
Не пиши 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']
]);
}
Других решений пока нет …