nao consigo ler outra tabela

29 views
Skip to first unread message

Cássio Oliveira

unread,
May 2, 2024, 9:36:26 AM5/2/24
to Laravel Brasil
bom dia pessoal

eu gostaria de fazer isso:
<div class="input-field">

  <select name="id_user" class="form-control" autofocus="autofocus">
      <option>Selecione...</option>

      <?php $query = mysqli_query($conn, "SELECT * FROM usuarios order BY name") or die("Erro"); ?>
      <?php while ($prod = mysqli_fetch_assoc($query))
          { ?>
              <option value="<?php echo $prod['id'] ?>"><?php echo $prod['name'] ?></option>
    <?php }?>

  </select>
  <label>Usuário</label>
</div>

como que faço isso no laravel ?

Herlon NH

unread,
May 3, 2024, 7:34:39 AM5/3/24
to Laravel Brasil

Vc pode utilizar o Eloquent ORM para interagir com o banco de dados e o Blade como seu mecanismo de modelo.

  1. Primeiro veja se tem modelo na sua tabela de usuários (se é o que vc quer). Vc pode criar usando o comando artisan make:model NomeDoModelo.

  2. Em seguida, você pode usar o método all() do Eloquent para obter todos os usuários ordenados pelo nome.

  3. No Blade, você pode iterar sobre os usuários e gerar as opções para o seu menu suspenso.

No controlador:

use App\Models\User; // Substitua 'User' pelo nome do seu modelo de usuário

public function index()
{
    $users = User::orderBy('name')->get();
    return view('suaView', compact('users'));
}

Na sua view suaView.blade.php:

<div class="input-field">
    <select name="id_user" class="form-control" autofocus="autofocus">
        <option>Selecione...</option>

        @foreach($users as $user)
            <option value="{{ $user->id }}">{{ $user->name }}</option>
        @endforeach

    </select>
    <label>Usuário</label>
</div> Substituia 'User' pelo nome do seu modelo de usuário e 'suaView' pelo nome da sua view. Isso deve funcionar para gerar um menu suspenso com os usuários do seu banco de dados no Laravel.

Reply all
Reply to author
Forward
0 new messages