Files

51 lines
1.4 KiB
PHP

<?php
namespace App\Livewire\Extruder;
use App\Models\Extruder as Model;
use Livewire\Attributes\Title;
use Livewire\Attributes\Validate;
use Livewire\Component;
#[title('Extruders')]
class CreateExtruder extends Component
{
public Model $extruder ;
public string $name = '';
public string $description = '';
public int $manufacturer_id = 0;
public string $diameter = '';
public string $temp_max = '';
#[Validate('required')]
public function save(){
$this->validate([
'name' => ['required', 'string', 'max:255'],
'description' => ['nullable', 'string', 'max:255'],
'manufacturer_id' => ['required', 'integer'],
'diameter' => ['required', 'string', 'max:4'],
'temp_max' => ['required', 'integer']
]);
$extruder = new Model();
$extruder->name = $this->name;
$extruder->description = $this->description;
$extruder->manufacturer_id = $this->manufacturer_id;
$extruder->diameter = $this->diameter;
$extruder->temp_max = $this->temp_max;
$extruder->save();
return $this->redirectRoute('extruder.show', $extruder->id , navigate: true);
}
public function cancel(){
return $this->redirectRoute('extruder.index', navigate: true);
}
public function render()
{
return view('livewire.extruder.create', [
]);
}
}