【问题标题】:Laravel - ErrorException Undefined variableLaravel - ErrorException 未定义的变量
【发布时间】:2023-03-05 21:06:01
【问题描述】:

我已尝试在 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>

这是我的错误

错误异常 未定义变量:消息(查看: C:\xampp\htdocs\fileupload\resources\views\admin\thesis.blade.php)

我该如何解决这个问题?

【问题讨论】:

  • 代码看起来不错。您可以在将消息值传递给视图之前打印消息值吗

标签: php laravel


【解决方案1】:

在你的 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

【讨论】:

    【解决方案2】:

    在你的 Controller

    上试试这个
    public function getMessages(){
        $messages = Message::all()->toArray();
        return view('admin.thesis', compact('messages'));
    }
    

    【讨论】:

    • 实际上,他的代码可以作为他的问题,我没有他的代码,所以我找不到这个错误的实际原因。所以我只是提供我的个人风格,即我如何发送数据以供查看。我知道这不是完美的解决方案,但也许这可行,也许不行。试试吧。
    • 你无法解释 OP 的代码和你的代码有什么区别,为什么这对解决问题有影响?
    • 是的,我无法解释。因为两者是一样的。我只是分享我的编码风格来尝试。
    【解决方案3】:

    我使用了以下代码及其对我的工作:

    class SidebarController extends Controller
    {
        public function news_widget() {
    
            $posts = Post::take(5)->orderBy('updated_at', 'DESC')->take();
            return view('index', array('data'=>$posts));
        }
    }
    

    在视图中,我只需使用$data,它对我来说工作正常。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-01-26
      • 2020-09-24
      • 2018-12-12
      • 2019-09-03
      • 1970-01-01
      • 1970-01-01
      • 2021-06-29
      • 1970-01-01
      相关资源
      最近更新 更多