You need to get rid of your $,
You are trying to render a variable called $password_temp, which would work if the value was a field name but that isn't what you want.... What you want is to access a field named password_temp.
Change this
$user->$code = $code;
$user->$password_temp = Hash::make($password);
To this
$user->code = $code;
$user->password_temp = Hash::make($password);
You might also want to validate if the email exists
'email' => 'required|email|exists:table,column'
Sign in to participate in this thread!