Мой цикл foreach не работает так, как предыдущий - PullRequest
1 голос
/ 04 октября 2019

Я - новая тонна Laravel (также в StackOverflow), и я пытаюсь показать данные в моей таблице home.blade.php из PhpMyAdmin, используя цикл foreach. Тем не менее, это не работает правильно, и я не могу понять, где проблема. У меня есть другие таблицы, работающие с foreach, и я проделал те же шаги с этой таблицей.

Модель пользователя

protected $table = 'users';

protected $fillable = ['id','name','edad','direccion_personal','celular','foto','email','direccion_sucursal_id'];

UserController

public function index()
{
    $Usuarios = User::all();
    $array = ['usuarios' => $Usuarios];

    return view('home')->with($array);
}

Наконец, вот мое тело:

<tbody>
@foreach ($usuarios as $Usuarios)
    <div>
        <tr>
            <th scope="row" style="text-align:center;">{{ $Usuarios->id }}</th>
            <td style="text-align:center;">{{ $Usuarios->nombre }}</td>
            .
            .
            .
        </tr>
    </div>
</tbody>
@endforeach

Ответы [ 3 ]

1 голос
/ 04 октября 2019

Почему массив?

    public function index(){
        $usuarios = User::all();
        return view('home', compact('usuarios'));
    }

Тогда:

<tbody>

@foreach ($usuarios as $us)
 <div>
  <tr>
    <th scope="row" style="text-align:center;">{{$us->id}}</th>
    <td style="text-align:center;">{{$us->nombre}}</td>
       .
       .
       .
  </tr>
 </div>
@endforeach
</tbody>
0 голосов
/ 04 октября 2019

Ваш foreach закрывается вне тега </tbody> и открывается внутри него. Таким образом, тело вашей таблицы закрывается после первой итерации цикла и больше никогда не открывается, поэтому с каждой итерацией у вас теперь есть дополнительная строка </tbody>. Это недопустимая разметка, и она нарушит вывод вашего сайта.

0 голосов
/ 04 октября 2019

Я вижу, у вас проблемы с циклом foreach. не работает правильно ... но я не уверен, что это за проблема ... если мой ответ не работает для вас, пожалуйста, обновите ваш вопрос, чтобы вы могли получить дополнительную помощь

Я вижу васзакройте внутри цикла foreach. Таким образом, вы получите множество закрывающих тегов одним открытием ...

Попробуйте переместить этот закрывающий тег за пределы цикла

<tbody>
@foreach ($usuarios as $Usuarios)
 <div>
  <tr>
    <th scope="row" style="text-align:center;">{{$Usuarios->id}}</th>
    <td style="text-align:center;">{{$Usuarios->nombre}}</td>
       .
       .
       .
  </tr>
 </div>
@endforeach
</tbody>
...