Jestem w sposobie uczenia się Larvel iw tym momencie próbuję wysłać zapytanie z powrotem do mojej bazy danych z podstawowego z tego, że zbuduję za pomocą Coreui jako szablonu administratora.

Więc zasadniczo dostaję ten błąd:

    SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'firstName' cannot be null (23000)
    SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'firstName' cannot be null (SQL: insert into `clients` (`firstName`, `lastName`, `companyName`, `phone`, `email`, `password`, `address1`, `address2`, `city`, `postcode`, `country`, `notes`, `updated_at`, `created_at`) values (, , , , , , , , , , , , 2020-10-19 01:41:04, 2020-10-19 01:41:04))

Poprzednie wyjątki

A mój klienciController.php obejmuje ten kod

use App\Client;
public function store(Request $req){
    $client = new Client;
    $client->firstName = $req->firstName;
    $client->lastName = $req->lastName;
    $client->companyName = $req->companyName;
    $client->phone = $req->phone;
    $client->email = $req->email;
    $client->password = $req->password;
    $client->address1 = $req->address1;
    $client->address2 = $req->address2;
    $client->city = $req->city;
    $client->postcode = $req->postcode;
    $client->country = $req->country; 
    $client->notes = $req->notes;
    $client->save();
    return redirect('addclient')->with('status','Client added successfully!');
}

W moim modelu Client.php Nie obejmuję niczego, ponieważ widziałem 20 samouczków, ale nigdzie nie mogłem znaleźć, co powinienem zrobić, więc właśnie włączyłem te 2

     use Illuminate\Database\Eloquent\Model;
     use Illuminate\Support\Facades\DB;

Trasy, które myślę, że są poprawne, więc ktoś wie, co mi brakuje, ponieważ w sieci nie ma wyraźnego sposobu wysyłania danych z ostrza do MySQL.

Wielkie dzięki!

EDYTOWAĆ:

Oto formularz:

 <h4 class="card-title">Add new Client</h4>
            <p class="card-description">Enter customer information</p>
        <form action="{{route('save')}}" method="post">
            {{ csrf_field() }}
                    <div class="form-group">
                        <label for="firstName">First Name</label>
                        <input type="text" class="form-control" id="firstName" placeholder="John">
                      </div>
                      <div class="form-group">
                        <label for="lastName">Last Name</label>
                        <input type="text" class="form-control" id="lastName" placeholder="Doe">
                      </div>
                      <div class="form-group">
                        <label for="companyName">Company Name</label>
                        <input type="text" class="form-control" id="companyName" placeholder="WEBSUNRISE">
                      </div>
                      <div class="form-group">
                        <label for="phone">Phone</label>
                        <input type="text" class="form-control" id="phone" placeholder="+44.7545958574">
                      </div>
                      <div class="form-group">
                        <label for="email">Email address</label>
                        <input type="email" class="form-control" id="email" placeholder="name@example.com">
                      </div>
                      <div class="form-group">
                        <label for="password">Password</label>
                        <input type="password" class="form-control" id="password" placeholder="&bull;&bull;&bull;&bull;&bull;&bull;&bull;&bull;">
                    </div>
                    <div class="form-group">
                        <button class="btn btn-primary" type="submit">Submit</button>
                    </div>
        </div>
    </div>
</div>
0
Raf Mavrogordatos 19 październik 2020, 04:48

1 odpowiedź

Najlepsza odpowiedź

Spróbuj użyć $req->input('firstName'). Sprawdź również, czy istnieje znacznik wejściowy z nazwą Imię, LastName, a nawet dla reszty, w formularzu HTML. Konieczne jest podanie nazwy do znacznika wprowadzania, ponieważ weźmy wartość za pomocą nazwy w Lavelu. Czuję się w twoim przypadku, mógłbyś go przegapić, ponieważ nie tylko po raz pierwszy, nawet na pola reszta, nie bierze żadnej wartości.

Więc przy pierwszym czeku, w formie:

<input type = "text" name = "firstName" placeholder = "Give name in each input tag">

Jeśli nadal nie działa, spróbuj

$client->firstName = $req->firstName;
0
Dharman 19 październik 2020, 23:30