Desde ontem que eu estou batendo cabeça nessa situação, e não consegui resolver de jeito nenhum...
Seguinte, tenho dois selects
que serão preenchidos com opções do banco de dados, um de categoria e outro de afiliação:
adicionar-produto.blade.php
<div class="input-group mb-3">
<label class="input-group-text" for="categoria">Categoria</label>
<select class="form-select" id="categoria" data-parsley-required="true" name="categoriaProdutoID">
<option disabled selected>Escolha uma...</option>
@foreach ($categorias as $categoria)
<option value="{{ $categoria->categoriaProdutoID }}">{{ $categoria->CategoriaProduto }}</option>
@endforeach
</select>
</div>
<div class="input-group mb-3">
<label class="input-group-text" for="afiliacao">Afiliação</label>
<select class="form-select" id="afiliacao" data-parsley-required="true" name="afiliacaoID">
<option disabled selected>Escolha uma...</option>
@foreach ($afiliados as $afiliado)
<option value="{{ $afiliado->afiliacaoID }}">{{ $afiliado->nomeAfiliacao }}</option>
@endforeach
</select>
</div>
No segundo eu já fiz ele para fazer a iteração, criei o controller e model, porém o Laravel me retorna com o erro de variável não definida.
Já tentei fazer com ->with('afiliados', $afiliados)
, mas o Laravel diz que não existe essa variável. A situação tá assim:
AfiliadoController.php (Controller)
class AfiliadoController extends Controller
{
public function todosAfiliados(){
$afiliados = Afiliado::all();
return view('produtos.adicionar')->with('afiliados', $afiliados);
}
}
Afiliado.php (Model)
class Afiliado extends Model
{
use HasFactory;
}
Nota: Eu tenho uma página chamada adicionar.blade.php
e ela é extendida através de um @include('components/adicionar-produto')
, onde lá está o formulário que vai receber o foreach
, da seguinte forma...
<section class="section">
<div class="card">
<div class="card-body">
<p class="text-subtitle text-muted">Nesta página você poderá um novo produto a listagem de produtos disponíveis no site.</p>
@include('components/adicionar-produto')
</div>
</div>
</section>
A minha dúvida é, porque eu não consigo fazer com que o Laravel enxergue a variável mesmo passando ela com ->with()
?
Aqui está o github do projeto: https://github.com/ElisameAraujo/adminNaturezaCura