Создание данных в проекте Laravel-8 не работает, как это решить?

#php #laravel #controller #laravel-7 #laravel-8

#php #laravel #контроллер #laravel-7 #laravel-8

Вопрос:

У меня проблема с добавлением данных или созданием данных в моем проекте laravel, как ее решить? я действительно смущен этим

это контроллер

      namespace AppHttpControllers;
    
    use AppModelsDaftarPelanggan;
    use IlluminateHttpRequest;
    use IlluminateHttpResponse;
    use IlluminateValidationRule;
    use IlluminateSupportFacadesValidator;
    use IlluminateSupportFacadesDB;
    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','AppHttpControllersDaftarPelangganController@create')->name('daftar_pelanggan.create');

 

это кнопка blade

     <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 AppModels;

use IlluminateDatabaseEloquentFactoriesHasFactory;
use IlluminateDatabaseEloquentModel;

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

Комментарии:

1. Добро пожаловать в SO… какую ошибку вы получили?

2. кнопка ввода данных не работает, а контроллер создания данных не работает, что не так с моим кодом?

3. вы пробовали отлаживать?

4. да, у меня есть, я думаю, что запрос insert не выполняется

5. «Я думаю» довольно широкое — что вы пытались отладить проблему?

Ответ №1:

В дополнение к вашим входным данным, ваша submit кнопка должна быть внутри тегов вашей формы.

Комментарии:

1. Я ответил ему по-своему @RushikeshGanesh , и, похоже, вы отредактировали свой собственный ответ… так что, по сути, это не я скопировал ВАШ ответ. хорошего дня (ps: да, я тот 1, кто поддержал ваш ответ).

Ответ №2:

Кнопка находится вне тега формы, вы должны попробовать ее внутри тега формы

Комментарии:

1. спасибо, что он работает, но я меняю код вашего контроллера

2. В чем была проблема и как ваш код помогает ее решить?

3. @showdev кнопка находится не внутри формы, вы можете увидеть предыдущее обсуждение, где я точно вижу проблему, и этот ответ действительно работает для него

4. @showdev внимательно прочитайте обсуждение, прежде чем давать какие-либо комментарии

5. Какое обсуждение? На мой взгляд, наиболее полезные ответы включают в себя самодостаточное объяснение, а не просто «попробуйте это».

Ответ №3:

Вы используете маршрут с методом ‘get’ для доступа к контроллеру

Route::get(‘daftar_pelanggan/create’,’AppHttpControllersDaftarPelangganController@create’)->name(‘daftar_pelanggan.create’);

измените на ‘post’ следующим образом

Route::post(‘daftar_pelanggan/create’,’AppHttpControllersDaftarPelangganController@create’)->name(‘daftar_pelanggan.create’);

Комментарии:

1. да, хорошей практикой является отправка формы с использованием метода POST вместо GET, но это не точная проблема. Но все же хороший ответ.