【问题标题】:Variable not defined in view in laravel 4在 laravel 4 的视图中未定义变量
【发布时间】:2014-04-28 10:18:47
【问题描述】:

我刚刚开始学习 laravel。这些是我正在遵循的步骤:。

  1. 在 routes.php 中创建了一个路由
  2. 在视图文件夹中创建了两个文件,并使用 yield() 和 extends() 将它们连接起来。
  3. 在模型文件夹中创建模型

我正在尝试从名为 registrations 的表中获取数据,但它表示未定义变量 (错误异常: 未定义变量:userdata(查看:/var/www/laravel/app/views/registrations.blade.php) )

这是对表格的描述:

+-------+------------------+------+-----+---------+----------------+
| Field | Type             | Null | Key | Default | Extra          |
+-------+------------------+------+-----+---------+----------------+
| id    | int(10) unsigned | NO   | PRI | NULL    | auto_increment |
| name  | varchar(255)     | NO   |     | NULL    |                |
| email | varchar(255)     | NO   | UNI | NULL    |                |
+-------+------------------+------+-----+---------+----------------+

这是 routes.php 文件

<?php

Route::get('registrations', function(){
    $userdata = registration::all();    
    return View::make('registrations')->with('registrations', $userdata);
});

这是位于 views 文件夹中的 registrations.blade.php

@extends('layout')

@section('content')
    @foreach($userdata as $data)
        <p>{{ $data->name }}</p>
    @endforeach
@stop

这是位于 views 文件夹中的 layout.blade.php

<!DOCTYPE HTML>
<html>
    <head>
        <title></title>
    </head>
    <body>
        <h1>layout</h1>
        @yield('content')
    </body>
</html>

这是位于 models 文件夹中的 registration.php 文件

<?php

class registration extends Eloquent {};

?>

我找不到确切的问题

【问题讨论】:

    标签: laravel-4


    【解决方案1】:

    在您的控制器中,您将从模型收到的 $userdata 集合作为“注册”传递,因此您的视图将接收此集合作为 $registrations。

    所以从我在你的问题中可以看到,以下应该有效:

    @extends('layout')
    
    @section('content')
        @foreach($registrations as $data)
            <p>{{ $data->name }}</p>
        @endforeach
    @stop
    

    【讨论】:

      猜你喜欢
      • 2018-02-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多