在 Laravel-8 项目中创建数据不起作用,如何解决?
Posted
技术标签:
【中文标题】在 Laravel-8 项目中创建数据不起作用,如何解决?【英文标题】:Create Data in Laravel-8 Project not working, how to solve it? 【发布时间】:2021-03-12 01:52:42 【问题描述】:我在我的项目laravel中添加数据或创建数据有问题,如何解决?我真的很困惑
这是控制器
namespace App\Http\Controllers;
use App\Models\DaftarPelanggan;
use Illuminate\Http\Request;
use \Illuminate\Http\Response;
use Illuminate\Validation\Rule;
use Illuminate\Support\Facades\Validator;
use Illuminate\Support\Facades\DB;
use Alert;
class DaftarPelangganController extends Controller
public function validator(Request $request)
return Validator::make($data, [
'nama_pelanggan' => ['required', 'string', 'max:255'],
'alamat' => ['required', 'string', 'max:255'],
'no_telp' => ['required', 'string', 'max:255'],
]);
public function create(Request $request)
return DaftarPelanggan::create([
'nama_pelanggan' => $data['addNamaPelanggan'],
'alamat' => $data['addAlamat'],
'no_telp' => $data['addNoTelp'],
'email' => $data['addEmail'],
'poin' => $data['addPOin'],
'status_member' => $data['addKategori'],
]);
return redirect()->back();
这是路由
Route::get('daftar_pelanggan/create','\App\Http\Controllers\DaftarPelangganController@create')->name('daftar_pelanggan.create');
这是按钮刀片
<button type="button" class="btn btn-sm btn-primary" data-toggle="modal" data-target="#editModal">
<i class="fa fa-edit"></i></button>
这是模态形式
<!-- Modal Add -->
<div class="modal fade" id="addModal" tabindex="-2" role="dialog" aria-labelledby="addModalLabel" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title mb-0" id="addModalLabel">Tambah Data Pelanggan</h5>
</div>
<div class="modal-body">
<!-- Card body -->
<form role="form" action=" route('daftar_pelanggan.create') " method="POST" enctype="multipart/form-data">
@csrf
<!-- Input groups with icon -->
<div class="form-group row">
<label for="addNamaPelanggan" class="col-md-2 col-form-label form-control-label">Nama</label>
<div class="col-md-10">
<input class="form-control" type="nama" placeholder="Nama Lengkap" id="addNamaPelanggan" name="addNamaPelanggan">
</div>
</div>
<div class="form-group row">
<label for="addAlamat" class="col-md-2 col-form-label form-control-label">Alamat</label>
<div class="col-md-10">
<input class="form-control" type="alamat" placeholder="Jatibarang" id="addAlamat" name="addAlamat">
</div>
</div>
<div class="form-group row">
<label for="addNoTelp" class="col-md-2 col-form-label form-control-label">No.Telp</label>
<div class="col-md-10">
<input class="form-control" type="notelp" placeholder="083XXXXXXXXX" id="addNoTelp" name="addNoTelp">
</div>
</div>
<div class="form-group row">
<label for="addEmail" class="col-md-2 col-form-label form-control-label">Email</label>
<div class="col-md-10">
<input type="email" class="form-control" id="addEmail" placeholder="name@example.com" name="addEmail">
</div>
</div>
<div class="form-group row">
<div class="col-md-6">
<div class="form-group">
<label class="form-control-label" for="addPoin">POIN</label>
<input type="text" class="form-control" id="addPoin" placeholder="0" name="addPoin">
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<label class="form-control-label" for="addKategori">Kategori</label>
<select class="form-control" id="addKategori" name="addKategori">
<option value="silver">Silver</option>
<option value="gold">Gold</option>
<option value="diamond">Diamond</option>
</select>
</div>
</div>
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
<button type="submit" class="btn btn-primary">Tambah Data</button>
</div>
</div>
</div>
</div>
这就是模型
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class DaftarPelanggan extends Model
//use HasFactory, Notifiable;
protected $table = "daftar_pelanggans";
protected $primaryKey = 'id';
protected $fillable = [
'nama_pelanggan',
'alamat',
'no_telp',
'email',
'poin',
'status_member',
];
请帮帮我谢谢 [模态来自我的项目][1] [1]:https://i.stack.imgur.com/vnSyI.png
【问题讨论】:
Welcome to SO ...你的gettig有什么错误? 按钮 tambah 数据不起作用,控制器创建数据不起作用,我的代码有什么问题? 你试过调试吗? 是的,我有,我认为查询插入它没有执行 “我认为”的范围很广 - 您尝试调试什么问题? 【参考方案1】:除了您的输入之外,您的submit
按钮必须在您的表单标签内。
【讨论】:
我已经以我的方式回答了他@RushikeshGanesh,看来你已经编辑了自己的答案......所以基本上不是我复制了你的答案。祝你有美好的一天(ps:是的,我是第一个支持你的答案的人)。【参考方案2】:按钮在表单标签之外,你应该在表单标签里面试试
【讨论】:
谢谢它的工作,但我改变了你的控制器代码 出了什么问题,您的代码如何帮助解决它? @showdev 按钮不在表单内,您可以看到之前的讨论,我正是在其中看到了问题,这个答案实际上对他有用 @showdev 在发表任何评论之前仔细阅读讨论 哪个讨论?在我看来,最有用的答案包括一个独立的解释,而不仅仅是“试试这个”。【参考方案3】:您正在使用带有“get”方法的路由来访问控制器
Route::get('daftar_pelanggan/create','\App\Http\Controllers\DaftarPelangganController@create')->name('daftar_pelanggan.create');
像这样改成“发帖”
Route::post('daftar_pelanggan/create','\App\Http\Controllers\DaftarPelangganController@create')->name('daftar_pelanggan.create');
【讨论】:
是的,使用 POST 方法而不是 GET 提交表单是一种很好的做法,但这不是确切的问题。但仍然是一个很好的答案。以上是关于在 Laravel-8 项目中创建数据不起作用,如何解决?的主要内容,如果未能解决你的问题,请参考以下文章
Laravel 8 api post route 无法正常工作
在 Python 3.4 中创建凯撒密码程序,但函数不起作用