2016-09-25 3 views
-1

Я пытаюсь показать данные в формате таблицы из моей БД. thead отображается в таблице, но tbody не отображается. Я думаю, проблема в функции @foreach. Потому что, я попытался ввести что-то вне функции @foreach, и оно появляется. И я попытался переместить @foreach внутри <tr>, но результат такой же. Вот часть моего кода:Laravel - Показать данные из базы данных С @foreach

<table class="table table-striped table-bordered" border="1px solid black"> 
    <thead> 
     <tr> 
      <td>ID</td> 
      <td>Name</td> 
      <td>Created At</td> 
      <td>Updated At</td> 
      <td>Date of birth</td> 
      <td>Gender</td> 
      <td>Action</td> 
     </tr> 
    </thead> 
    <tbody> 
     @foreach($student as $key => $value) 
     <!--$student is imported from another file, 
     with this function: $student = Student::all()--> 
     <tr> 
      <td>{{$value->id}}</td> 
      <td>{{$value->name}}</td> 
      <td>{{$value->created_at}}</td> 
      <td>{{$value->updated_at}}</td> 
      <td>{{$value->dob}}</td> 
      <td>{{$value->gender}}</td> 
      <td><a href="{{URL::to('student/' . $value->id) 
       }}">Show</a> | 
       <a href="{{URL::to('student/' . $value->id) 
        .'/edit'}}">Edit</a> | 
       <form method="post" action="<?php echo url('/') 
        ."/student/".$value->id."/delete";?>"> 
        <input type="hidden" name="_token" value=" 
         {!!csrf_token() !!}"> 
        <div class="form-group"> 
         <div> 
          <button type="submit" class= 
           "btn btn-warning">Delete</button> 
         </div> 
        </div> 
       </form> 
      </td> 
     </tr> 
     @endforeach 
    </tbody> 
</table> 

Надеюсь, вы сможете помочь. Благодарю.

+0

Какие ошибки вы получите за это? –

+0

@ChoncholMahmud У меня нет ошибок, просто данные из БД не будут отображаться –

+0

@ChoncholMahmud Это код: 'public function index() { $ student = Student :: all(); return view ('student.index', compact ('student')); } 'Что такое' var_dump'? Где я должен это поставить? –

ответ

2

Попробуйте это, если вы используете файл клика, вы можете использовать {{}} вместо;

Сначала вы можете проверить, есть ли у ученика данные или нет. В контроллере непосредственно перед возвращением вида вы можете сделать

return $student; 

Обновить страницу. Если данные поступают правильно, используйте этот код в своем представлении.

<table class="table table-striped table-bordered" border="1px solid black"> 
<thead> 
    <tr> 
     <td>ID</td> 
     <td>Name</td> 
     <td>Created At</td> 
     <td>Updated At</td> 
     <td>Date of birth</td> 
     <td>Gender</td> 
     <td>Action</td> 
    </tr> 
</thead> 
<tbody> 
    @foreach($student as $value) 
    <tr> 
     <td>{{$value->id}}</td> 
     <td>{{$value->name}}</td> 
     <td>{{$value->created_at}}</td> 
     <td>{{$value->updated_at}}</td> 
     <td>{{$value->dob}}</td> 
     <td>{{$value->gender}}</td> 
     <td><a href="student/". $value->id>Show</a> | 
      <a href="student/" . $value->id ."/edit">Edit</a> | 
      <form method="post" 
      action="/student/".$value->id."/delete"> 
       <input type="hidden" name="_token" value=" 
        {!!csrf_token() !!}"> 
       <div class="form-group"> 
        <div> 
         <button type="submit" class= 
          "btn btn-warning">Delete</button> 
        </div> 
       </div> 
      </form> 
     </td> 
    </tr> 
    @endforeach 
</tbody> 

+0

Когда я добавляю 'return $ student', он показывает пустые скобки массива. Но у меня уже есть 10 данных в моей базе данных –

+0

Я нашел ошибку. благодаря –

Смежные вопросы