Это корневая форма:
Код: Выделить всё
@foreach ($lineasComponentes as $componente)
Eliminar
@endforeach
familias.blade.php
Код: Выделить всё
@foreach ($familias as $familia)
{{$familia->nombre}}
@endforeach
Код: Выделить всё
class Familias extends Component
{
public $formFamilia;
public $familia_id;
public $indexLoop;
public function mount()
{
$this->formFamilia = $this->familia_id;
}
public function updatedFormFamilia()
{
$this->dispatch('familiaSelected', familiaId: $this->formFamilia);
}
public function render()
{
$familias = DB::table('familias')
->whereNotIn('id', [8,9])
->get();
$ind = $this->indexLoop;
return view('livewire.form.familias', compact('familias', 'ind'));
}
}
Код: Выделить всё
@foreach ($subfamilias as $subfamilia)
{{ $subfamilia->nombre }}
@endforeach
Код: Выделить всё
class SubFamilias extends Component
{
public $formSubFamilia;
public $sub_familia_id;
public $familia_id;
public $indexLoop;
public function mount()
{
$this->formSubFamilia = $this->sub_familia_id;
}
#[On('familiaSelected')]
public function setFamilia($familiaId)
{
$this->familia_id = $familiaId;
}
public function updatedFormSubFamilia()
{
$this->dispatch(
'subfamiliaSelected',
subfamiliaId: $this->formSubFamilia,
familiaId: $this->familia_id
);
}
public function render()
{
$subfamilias = DB::table('factor_precios as fp')
->select('sf.id', 'sf.nombre')
->leftjoin('sub_familias as sf', 'sf.id', '=', 'fp.sub_familia_id')
->where('fp.familia_id', '=', $this->familia_id)
->where('sf.id', '!=', '3')
->get();
$ind = $this->indexLoop;
return view('livewire.form.sub-familias', compact('subfamilias', 'ind'));
}
}
Код: Выделить всё
@foreach ($componentes as $componente)
{{ $componente->nombre }}
@endforeach
Код: Выделить всё
class Componentes extends Component
{
public $formComponente;
public $componente_id;
public $familia_id;
public $sub_familia_id;
public $indexLoop;
public function mount()
{
$this->formComponente = $this->componente_id;
}
#[On('subfamiliaSelected')]
public function setFamilia($subfamiliaId, $familiaId)
{
$this->familia_id = $familiaId;
$this->sub_familia_id = $subfamiliaId;
}
public function render()
{
$componentes = DB::table('materials as m')
->select('m.id', 'm.nombre')
->where('m.familia_id', '=', $this->familia_id)
->where('m.sub_familia_id', '=', $this->sub_familia_id)
->get();
$ind = $this->indexLoop;
return view('livewire.form.componentes', compact('componentes', 'ind'));
}
}
Извините за мой английский, я не носитель языка
Подробнее здесь: https://stackoverflow.com/questions/790 ... ed-selects