【问题标题】:I cant send a variable to Blade in Laravel 5.1我无法在 Laravel 5.1 中向 Blade 发送变量
【发布时间】:2015-10-24 11:24:24
【问题描述】:

我正在尝试将变量发送到刀片视图,但抛出此错误:

未定义变量:数据(查看:D:\wamp\www\tienda\resources\views\cliente.blade.php)

这是我的路线:

Route::resource('cliente','ClienteController');

这是我的控制器客户:

public function index(){

    $data = Cliente::all();

    return view('cliente',compact($data));
}

还有我的刀:

 @foreach ($data as $user)
        <tr>
            <td>{{$user->nombre}}</td>
        </tr>
    @endforeach

我做错了什么?

此外,如果尝试这样做 控制器客户端:

    public function index(){
    return view('cliente', ['name' => 'James']);
}

和刀片:

{{$name}}

那是的工作...只有变量和数组,不工作。

【问题讨论】:

    标签: php laravel undefined blade laravel-5.1


    【解决方案1】:

    在你的控制器上试试这个:

    public function index(){
        $data = Cliente::all();
        return view('cliente',compact('data'));
    }
    

    From the compact documentation: "每个参数可以是包含变量名的字符串,也可以是的数组变量名。该数组可以在其中包含其他变量名数组;compact() 递归处理它。"

    【讨论】:

    • 哦!紧凑的方法接收一个字符串,而不是变量......我没有看到......非常感谢。
    【解决方案2】:

    你可以试试这个方法

    public function index(){
    $data['data'] = Cliente::all();
    return view('cliente', $data);
    }
    

    然后你可以像这样在刀片中抓住它

     @foreach ($data as $user)
        <tr>
            <td>{{$user->nombre}}</td>
        </tr>
    @endforeach
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-12-01
      • 2017-09-25
      • 2016-11-10
      • 2014-02-06
      • 2018-06-10
      • 2018-01-30
      • 1970-01-01
      • 2018-08-12
      相关资源
      最近更新 更多