I cannot store the company that my client belongs to. The company is a foreign key and when I click register customer I get an error:
SQLSTATE[22007]: Invalid datetime format: 1366 Incorrect integer value: 'Tim' for column
customerlist.customers.companyat row 1 (SQL: insert intocustomers(company,name,document,phone,updated_at,created_at) values (Tim, Felix Botta, 04919407939, +55.41984081085,[email protected], 2021-02-14 20:55:15, 2021-02-14 20:55:15))
CustomerController
class CustomersController extends Controller
{
public function index(){
$customers = Customer::get();
return view('customers.list', ['customers' => $customers]);
}
public function new(){
$companies = Company::orderBy('id', 'desc')->get();
return view('customers.form', ['companies' => $companies]);
}
public function add( Request $request ){
$customers = new Customer;
$customers = $customers->create( $request->all() );
return Redirect::to('/customers');
}
public function edit( $id ){
$customers = Customer::findOrFail( $id );
return view('customers.form', ['customers' => $customers]);
}
public function update( $id, Request $request ){
$customers = Customer::findOrFail( $id );
$customers->update( $request->all() );
return Redirect::to('/customers');
}
public function delete( $id ){
$customers = Customer::findOrFail( $id );
$customers->delete();
return Redirect::to('/customers');
}}
form.blade
<form action="{{ url('customers/add') }}" method="post">
@csrf
<div class="form-group">
<label for="">Empresa:</label>
<select name="company" class="form-control">
@foreach($companies as $company)
<option value="{{ $company->name }}">{{ $company->name }}</option>
@endforeach
</select>
</div>
<div class="form-group">
<label for="exampleInputEmail1">Nome:</label>
<input type="text" name="name" class="form-control">
</div>
<div class="form-group">
<label for="exampleInputEmail1">CPF / CNPJ:</label>
<input type="text" name="document" class="form-control">
</div>
<div class="form-group">
<label for="exampleInputEmail1">Telefone:</label>
<input type="text" name="phone" class="form-control">
</div>
<div class="form-group">
<label for="exampleInputEmail1">E-mail:</label>
<input type="email" name="email" class="form-control" id="exampleInputEmail1" aria-describedby="emailHelp">
</div>
<button type="submit" class="btn btn-primary">Cadastrar</button>
</form>
@endif
</div>
class CreateCustomersTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('customers', function (Blueprint $table) {
$table->id();
$table->string('name', 256);
$table->string('document', 256);
$table->string('phone', 128);
$table->string('email', 128);
$table->foreignId('company')->constrained('companies');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('customers');
}}