Rumah > Soal Jawab > teks badan
Terangkan Pangkalan Data QueryException
SQLSTATE[42S22]: 1054 Nama lajur 'category_name' tidak diketahui dalam 'senarai medan' (SQL: masukkan ke dalam categories
(category_name
, updated_at
, created_at
) nilai (buah-buahan, 2022-08-08 10:46:52, 2022-08-08 10:46: 52) )
Bagaimana untuk menyelesaikannya?
Nama pengawal saya ialah "CategorieController". Ini ialah fungsi kedai sauvercategorie dalam CategorieController saya.
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');
Seluruh fail bilah saya.
@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
Nama model ialah Kategori. Ini model saya
namespace AppModels; use IlluminateDatabaseEloquentFactoriesHasFactory; use IlluminateDatabaseEloquentModel; class Categorie extends Model { use HasFactory; protected $fillable = ['category_name']; }
Nama jadual saya ialah "kategori". Ini jam tangan saya
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'); } }
Perlukan bantuan untuk menyelesaikannya, terima kasih.
P粉3620719922023-11-06 13:30:08
Dalam migrasi dan model, nama medan anda berbeza.
Tukar model anda kepada:
protected $fillable = ['category_name'];
ditukar kepada:
protected $fillable = ['categorie_name'];