Laravel - ErrorException Неопределенная переменная - PullRequest
0 голосов
/ 31 августа 2018

Я пытался сослаться на все возможные решения в stackoverflow, но не смог решить эту проблему.

Это мой контроллер.

public function getMessages(){
    $messages = Message::all()->toArray();
    return View('admin.thesis', ['messages' => $messages]);
}

Это мой маршрут / web.php

Route::get ('/thesis','MessagesController@getMessages');

А это мой взгляд

<div class="panel-heading">Thesis Details</div>
    <div class="panel-body">
        <table class="table table-bordered">
            <tr>
                <th>First Name</th>
                <th>Last Name</th>
                <th>E-Mail</th>
                <th>Contact</th>
                <th>State</th>
                <th>Country</th>
                <th>Article</th>
                <th>Author</th>
                <th>Uploaded File</th>
            </tr>
            @foreach($messages as $row)
            <tr>
                <td>{{$row['firstName']}}</td>
                <td>{{$row['lastName']}}</td>
                <td>{{$row['email']}}</td>
                <td>{{$row['contactNumber']}}</td>
                <td>{{$row['state']}}</td>
                <td>{{$row['country']}}</td>
                <td>{{$row['article']}}</td>
                <td>{{$row['author']}}</td>
                <td>
                    <a href="{{ URL::to('/') }}/uploads/{{$row['file_path']}}">
                      {{$row['file_path']}}
                    </a>
                </td>
            </tr>
            @endforeach
        </table>
    </div>
</div>

Это моя ошибка

ErrorException Неопределенная переменная: messages (View: C:\xampp\htdocs\fileupload\resources\views\admin\thesis.blade.php)

Как мне решить эту проблему?

Ответы [ 3 ]

0 голосов
/ 31 августа 2018

Попробуйте это на вашем Controller

public function getMessages(){
    $messages = Message::all()->toArray();
    return view('admin.thesis', compact('messages'));
}
0 голосов
/ 31 августа 2018

Я использовал следующий код и его работа для меня:

class SidebarController extends Controller
{
    public function news_widget() {

        $posts = Post::take(5)->orderBy('updated_at', 'DESC')->take();
        return view('index', array('data'=>$posts));
    }
}

А в представлении я просто использую $data, и он прекрасно работает для меня.

0 голосов
/ 31 августа 2018

Попробуйте это на вашем Controller

public function getMessages(){
    $messages = Message::all();
    return view('admin.thesis')->with(['messages' => $messages]);
}

И в вашем блейд-файле

@foreach($messages as $row)
<tr>
    <td>{{ $row->firstName }}</td>
    <td>{{ $row->lastName }}</td>
    <td>{{ $row->email }}</td>
    <!-- etc... -->
    <td>
       <a href="{{ URL::to('/') }}/uploads/{{ $row->file_path }}">
         {{ $row->file_path }}
       </a>
    </td>
</tr>
@endforeach
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...