Php 如何在Laravel6中通过表单将数据存储到表中?
我对laravel和一般的编码都是新手。我想知道如何使用表单将数据存储到空表中 还有,如果可能的话,如何显示我存储在数据中的表的一列。 我尝试了多种方法,但我不知道路线是如何工作的,也不知道如何与控制器连接 这是我的视图home.blade.phpPhp 如何在Laravel6中通过表单将数据存储到表中?,php,database,laravel,store,Php,Database,Laravel,Store,我对laravel和一般的编码都是新手。我想知道如何使用表单将数据存储到空表中 还有,如果可能的话,如何显示我存储在数据中的表的一列。 我尝试了多种方法,但我不知道路线是如何工作的,也不知道如何与控制器连接 这是我的视图home.blade.php @extends('layouts.app') @section('content') <div class="container"> <div class="row justify-content-center">
@extends('layouts.app')
@section('content')
<div class="container">
<div class="row justify-content-center">
<div class="col-md-6">
<div class="card">
<div class="card-header"style="text-align:center;font-size:20px;">Teams</div>
<div class="card-body">
@if (session('status'))
<div class="alert alert-success" role="alert">
{{ session('status') }}
</div>
@endif
<div class=col-md-12>
<a class="pl-5" style="font-size:25px;"href="createteams">Create a Team</a>
<a class="pl-5"style="font-size:25px;"href="">View Teams</a>
</div>
</div>
</div>
</div>
</div>
</div>
@endsection
这是我的控制器
<?php
namespace App\Http\Controllers;
use App\Team;
use Illuminate\Http\Request;
class CreateTeamController extends Controller
{
public function store(Request $request)
{
return view('createteams');
$team=Team::create($request->all());
return redirect()->route("home");
}
}
这是我的路线
Route::get('/createteams',['as'=>'/createteams','uses'=>'CreateTeamController@store']);
您必须创建一个新函数来存储数据, 因为在
store
函数中,在表中插入数据之前返回视图
public function store(Request $request)
{
return view('createteams');
}
public function storeData(Request $request){ //you can name function
$team=Team::create([
'team_name'=>$request->team_name,
'desc'=>$request->desc
]); // if fillable fields in model have same name as data coming in request
return redirect()->route("home");
}
此外,您还需要定义两个路由,一个用于显示表单,另一个用于存储数据
您已经定义了要显示表单的路由,现在使用
post
方法定义另一个路由来存储数据和重定向。我添加了一个路由route::get('/createteams,CreateTeamController@index'); 我在另一个路径'route::post('/createteams',['as'=>'/createteams','uses'=>'中用post替换了getCreateTeamController@store']); ` 这现在是我的控制器类CreateTeamController扩展控制器{public function index(){return view('createteams');}公共函数存储(Request$Request){$team=team::create($Request->all());return redirect()->route('home');}
但我发现一个错误,此路由不支持get方法。支持的方法:POST。尝试这样定义Route::get('/admin/dress','DressController@showDresses'); 路线::post('/admin/dress','DressController@insertDress');代码>根据您的需要更改路线code@Ripperakos另外,您的get路径route::get('/createteams','CreateTeamController@index');代码>它工作了,但是return redirect()->route('home')没有返回到home,而是返回到/admin/home,在我的名为teams的表中仍然没有保存任何内容
namespace App;
use Illuminate\Database\Eloquent\Model;
class Team extends Model
{
protected $fillable = [
'team_name', 'desc',
];
protected $table='teams';
public function assembled(){
return $this->hasMany(User::class);
}
}
Route::get('/createteams',['as'=>'/createteams','uses'=>'CreateTeamController@store']);
public function store(Request $request)
{
return view('createteams');
}
public function storeData(Request $request){ //you can name function
$team=Team::create([
'team_name'=>$request->team_name,
'desc'=>$request->desc
]); // if fillable fields in model have same name as data coming in request
return redirect()->route("home");
}