3 masukan saya alamat, nomor dan nama_perusahaan menunjukkan nilai nol tetapi saya mengisi nilai dalam formulir. Ini adalah bentuk saya

<form id="myForm" method="post" action="{{ route('dealer.store') }}">
                        @csrf
                        <div class="user-box">
                            <input type="text" name="name" required="">
                            <label>Name</label>
                            @error('name')
                                <span class="invalid-feedback" role="alert">
                                    <strong>{{ $message }}</strong>
                                </span>
                            @enderror
                        </div>
                        <div class="user-box">
                            <input type="text" name="name_of_firm" required="">
                            <label>Name Of Firm</label>
                            @error('name_of_firm')
                                <span class="invalid-feedback" role="alert">
                                    <strong>{{ $message }}</strong>
                                </span>
                            @enderror
                        </div>
                        <div class="user-box">
                            <input type="text" name="number" required="">
                            <label>Number</label>
                            @error('number')
                                <span class="invalid-feedback" role="alert">
                                    <strong>{{ $message }}</strong>
                                </span>
                            @enderror
                        </div>
                        <div class="user-box">
                            <input type="text" name="address" required="">
                            <label>Address</label>
                            @error('address')
                                <span class="invalid-feedback" role="alert">
                                    <strong>{{ $message }}</strong>
                                </span>
                            @enderror
                        </div>
                        <div class="user-box">
                            <input type="email" name="email" required="">
                            <label>Email</label>
                            @error('email')
                                <span class="invalid-feedback" role="alert">
                                    <strong>{{ $message }}</strong>
                                </span>
                            @enderror
                        </div>
                        <div class="user-box">
                            <input type="password" name="password" required="">
                            <label>Password</label>
                            @error('password')
                                <span class="invalid-feedback" role="alert">
                                    <strong>{{ $message }}</strong>
                                </span>
                            @enderror
                        </div>

                        <button class="a" id="a" value="submit" name="submit">Submit</button>

                    </form>

Ini adalah pengontrol saya. nama pengontrol saya adalah DealerController dari mana saya menyimpan data di tabel pengguna

public function store(Request $request)
{
    $request->validate([
        'name' => 'required',
        'email' => 'required',
        'password' => 'required',
        'name_of_firm' => 'required',
        'address' => 'required',
        'number' => 'required',
    ]);

    $user = User::create([
        'name' => $request->input('name'),
        'email' => $request->input('email'),
        'password' => Hash::make($request->input('password')),
        'name_of_firm' => $request->input('name_of_firm'),
        'address' => $request->input('address'),
        'number' => $request->input('number'),
    ]);

    return redirect()->route('dealer.index')->withSuccess('done');
}

Ini adalah model Pengguna saya. hanya ada 3 kolom yang bisa diisi.

protected $fillable = [
    'name',
    'email',
    'password',
];

Ini adalah gambar dari database. masukkan deskripsi gambar di sini

0
Path Parakh 26 Mei 2021, 12:07

3 jawaban

Jawaban Terbaik

Itu karena Laravel mass-assignment dan Anda harus menambahkan setiap bidang yang Anda ingin diisi dengan input pada array $fillable.

Ubah array yang dapat diisi seperti di bawah ini:

protected $fillabel = [
        'name',
        'email',
        'password',
        'name_of_firm',
        'address',
        'number'
];
2
reza khademi 26 Mei 2021, 09:15

Jika Anda menggunakan $fillable coba tambahkan bidang lain juga, tetapi jika Anda tidak ingin menambahkan bidang lain coba gunakan $guarded:

$dapat diisi

protected $fillabel = [
    'name',
    'email',
    'password',
    'name_of_firm',
    'address',
    'number'
];

$dijaga

protected $guarded = [];
0
Hedayatullah Sarwary 26 Mei 2021, 09:22

Ganti $ yang bisa diisi dengan ini

protected $guarded = [
    'id',
];

Ini akan menyelesaikan masalah

1
Khalid Khan 26 Mei 2021, 09:12