Php 如何在Laravel6中通过表单将数据存储到表中?

Php 如何在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">

我对laravel和一般的编码都是新手。我想知道如何使用表单将数据存储到空表中

还有,如果可能的话,如何显示我存储在数据中的表的一列。 我尝试了多种方法,但我不知道路线是如何工作的,也不知道如何与控制器连接

这是我的视图home.blade.php

@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'); '/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");
}