我正在制作一个带有将数据插入数据库的表单的Web应用程序。我正在使用Laravel制作此Web应用程序。现在,我制作了插入的表单和代码,但无法正常工作,它给出了未找到的错误。希望有人可以给我一些有关如何解决此问题的建议。
这是我的观点:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Spelers Toevoegen</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" type="text/css" media="screen" href="main.css" />
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
<script src="main.js"></script>
</head>
<body>
<form id="form" action="/add" method="post">
@csrf
<div class="form-group">
<h1>Speler toevoegen</h1>
<label>Naam:<input name="naam" type="text" value="" class="form-control"></label><br>
<label>Aantal:<input name="aantal" type="text" value="" class="form-control"></label><br>
<label>Positie:<input name="positie" type="text" value="" class="form-control"></label><br>
<label>club:<input name="club" type="text" value="{{$naam}}" class="form-control"></label><br>
<button type="submit" class="btn btn-primary"><a id="btn_link">Voeg spelers toe</a></button>
</div>
</form>
这是我的控制器功能:
public function Add(Request $request)
{
$speler_naam = $request->input('naam');
$aantal = $request->input('aantal');
$positie = $request->input('positie');
$club = $request->input('club');
$data = array('speler_naam'=>$speler_naam, "doelpunten"=>$aantal, "positie"=>$positie, "club_naam"=>$club);
SpelerSelectie::insert($data);
}
这是我的路线:
Route::post('/add', 'VoetbalController@Add');
答案 0 :(得分:1)
首先,您应将方法命名为小写而不是大写
所以您的路线应如下所示:
Route::post('/add', 'VoetbalController@add');
然后将其保存到数据库中
public function add(Request $request) {
$data = SpelerSelectie::create($request->all());
if($data) {
return redirect()->route('add.index')->with('message', 'Success.');
}
return redirect()->route('add.index')->with('message', 'error.');
}
此外,您应该在文件顶部的Controller中导入模型:
use App\SpelerSelectie;
此外,您需要在模型的可填充数组中向模型添加要插入/更新的字段:
protected $fillable = ['field1']; // you need to add your field name (tablenames)
我假设您创建了一个适当的迁移,如果不是,则必须先创建一个适当的迁移。