照亮資料庫QueryException
SQLSTATE[42S22]: 1054列名未知'category_name' in 'field list' (SQL: insert into categories
(category_name
, updated_at
, created_at
) values (fruits, 2022-08-08 10:46:52, 2022-08-08 10:46:52))
如何解決?
我的控制器名稱是"CategorieController"。這是我的CategorieController中的store函數sauvercategorie。
namespace AppHttpControllers; use IlluminateHttpRequest; use AppModelsCategorie; class CategorieController extends Controller { // public function ajoutercategorie(){ return view('admin.ajoutercategorie'); } public function sauvercategorie(Request $request){ $validatedData = $request->validate([ 'category_name' => 'required | max:255', ]); $categorie = Categorie::create($validatedData); return redirect('/ajoutercategorie')->with('status', 'La catégorie' .$categorie->category_name.'a été ajoutée avec succès');
我的整個blade檔案。
@extends('layouts.appadmin') @section('title') Ajouter une catégorie @endsection @section('contenu') <div class="row grid-margin"> <div class="col-lg-12"> <div class="card"> <div class="card-body"> <h4 class="card-title">Ajouter une catégorie</h4> @if (Session::has('status')) <div class="alert alert-success"> {{Session::get('status')}} </div> @endif @if ($errors->any()) <div class="alert alert-danger"> <ul> @foreach($errors->all() as $error) <li>{{ $error }}</li> @endforeach </ul> </div> @endif <form class="cmxform" id="commentForm" method="post" action="{{ route('categories.sauvercategorie') }}"> @csrf <fieldset> <div class="form-group"> <label for="cemail">Nom de la catégorie</label> <input id="cemail" class="form-control" type="text" name="category_name" > </div> <input class="btn btn-primary" type="submit" value="Ajouter"> </fieldset> </form> </div> </div> </div> </div> @endsection @section('scripts') {{--<script src="Administrateur/js/form-validation.js"></script> <script src="Administrateur/js/bt-maxLength.js"></script>--}} @endsection
模型的名稱是Categorie。這是我的模型
namespace AppModels; use IlluminateDatabaseEloquentFactoriesHasFactory; use IlluminateDatabaseEloquentModel; class Categorie extends Model { use HasFactory; protected $fillable = ['category_name']; }
我的表名是"categories"。這是我的表
use IlluminateDatabaseMigrationsMigration; use IlluminateDatabaseSchemaBlueprint; use IlluminateSupportFacadesSchema; class CreateCategoriesTable extends Migration { /** * Run the migrations. * * @return void */ public function up() { Schema::create('categories', function (Blueprint $table) { $table->id(); $table->string('categorie_name'); $table->timestamps(); }); } /** * Reverse the migrations. * * @return void */ public function down() { Schema::dropIfExists('categories'); } }
需要幫忙解決,謝謝。
在遷移和模型中,您的欄位名稱不同。
將您的模型更改為:
改為: