如何解决这个问题?请帮忙。
管理控制器文件: 这是我的控制器文件。
n
路线档案:
use Illuminate\Http\Request;
use App\admins;
class AdminController extends Controller{
public function register(Request $request){
$register = new admins();
$register->name = $request->input('name');
$register->email = $request->input('email');
$register->password = $request->input('password');
$register->save();
return redirect('/admin_register')->with('success', 'Register Sucessully!');
}
}
模型文件
Route::post('/admin_register', 'AdminController@register')->name('admin_register');
Route::get('/admin_register', 'AdminController@register')->name('admin_register');
admin_register.blade:
namespace App;
use Illuminate\Database\Eloquent\Model;
class admins extends Model{
protected $fillable = [
'name', 'email', 'password',
];
}
答案 0 :(得分:0)
如果name
字段不是必填字段,请在迁移中将该字段设为可为空:
$table->string('name', 100)->nullable();
另请注意,元素ID在文档中应该是唯一的
答案 1 :(得分:0)
您的GET
指向register
方法。
/admin_register
时,它会尝试创建新用户,但由于您没有$request
任何内容,POST
将为空。save()
方法,由于您的重定向,它会在循环中将您重定向到相同的方法而是添加一个新方法,如:
public function redirectForm(){
return view('admin_register');
}
并将您的路线更改为:
Route::post('/admin_register', 'AdminController@register')->name('admin_register');
Route::get('/admin_register', 'AdminController@registerForm')->name('admin_register_form');
答案 2 :(得分:0)
您的观点中有拼写错误
<form method="post" action="{{route('admin_register')}}" role="form" id="vehicle_form" name="vehicle_form" data-parsley-validate novalidate>
<div id="success_msg" class="alert alert-success alert-dismissable"> </div>
<input type="hidden" name="_token" value="{{csrf_token()}}">
<input type="text" name="name" id="vehicle_no" value="" placeholder="Enter Your Name" class="form-control">
<input type="text" name="email" id="vehicle_no" value="" placeholder="Enter your Email" class="form-control">
<input type="text" name="password" id="vehicle_no" value="" placeholder="Enter your Password" class="form-control">
<input type="submit" value="REGISTER">
</form>
在您的代码action='shareholder'
中出错了。将其设置为action='{{route('admin_register')}}'
希望这有帮助