Laravel:无法将变量传递给视图

达巴达巴

我有几个使用继承的刀片页面,并且试图在一个页面中显示产品列表。但是,当对象传递到视图时,出现了问题,并导致应用程序崩溃。

我得到的错误是Undefined variable: batteries

经过isset($batteries)测试,变量确实没有出现在视图中。

这是代码:

/* controller */

class HomeController extends \BaseController {

    public function index() {
        $view = View::make('home.index')->render();
        return Response::json(['view' => $view]);
    }

    public function main() {
        $batteries = Battery::all();
        $view = View::make('home.main', compact('batteries'))->render();
        return Response::json(['view' => $view]);
    }

}

观看次数:

<!-- home/index.blade.php -->
@extends('layouts.master')

@section('content')

@include('home.main')

@stop

<!-- home/main.blade.php -->
<ul class="list-group">
    @foreach ($batteries as $battery)
        <li class="list-group-item">$battery->name</li>
    @endforeach
</ul>

怎么了?为什么变量未定义?

编辑

Route::get('/', function() {
    return View::make('home.index');
});

Route::group(['before' => 'ajax'], function() {
    Route::get('/home/main', ['as' => 'home.main', 'uses' => 'HomeController@main']);
});
马尔辛·纳比亚列克(MarcinNabiałek)

问题出index在显示home.index此文件包括的方法中,home.main并且在此文件中使用$batteries变量。

您不应home.main在此处添加模板,也不要添加额外的检查(如果$batteries已设置):

@if (isset($batteries))
<ul class="list-group">
    @foreach ($batteries as $battery)
        <li class="list-group-item">{{{ $battery->name }}}</li>
    @endforeach
</ul>
@endif

要显示$ battery的名称,您还应该使用{{{ $battery->name }}}而不是$battery->name

编辑

问题是您的路线,应该使用您的控制器方法:

Route::get('/', ['uses' => 'HomeController@index']);

现在您可以将index方法更改为:

$batteries = Battery::all();
$view = View::make('home.main', compact('batteries'))->render();
return Response::json(['view' => $view]);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Laravel 5无法将变量传递给所有视图

来自分类Dev

laravel 5.2无法将变量传递给视图

来自分类Dev

Laravel,将变量传递给视图

来自分类Dev

无法将变量从Codeigniter控制器传递给视图?

来自分类Dev

如何将多个变量传递给单个视图 Laravel?

来自分类Dev

将多个变量传递给视图

来自分类Dev

将变量传递给 Rails SLIM 视图

来自分类Dev

无法将变量从php传递给exec

来自分类Dev

无法将变量传递给Ajax网址

来自分类Dev

无法将特定变量传递给会话

来自分类Dev

ajax无法将变量传递给php

来自分类Dev

无法将$ conn变量传递给函数

来自分类Dev

将Angular变量传递给Laravel

来自分类Dev

Laravel:将变量传递给 Schema::create

来自分类Dev

将变量传递给 Laravel 模型启动

来自分类Dev

Laravel 将 javascript 变量传递给路由

来自分类Dev

通过Laravel 5.2中的控制器将中间件中的变量传递给视图

来自分类Dev

将视图变量传递给Laravel 8中的随附布局模板

来自分类Dev

通过Laravel 5.2中的控制器将中间件中的变量传递给视图

来自分类Dev

Laravel视图-将多个数组传递给视图

来自分类Dev

laravel:无法将参数传递给特征

来自分类Dev

Laravel视图接收未传递给它的变量

来自分类Dev

无法将变量从组件控制器传递给可邮寄邮件-Laravel

来自分类Dev

将Jade模型变量传递给视图脚本函数参数

来自分类Dev

PageViewController-将变量传递给子视图

来自分类Dev

如何将值从分配的变量传递给视图?

来自分类Dev

将参数传递给视图时插值变量

来自分类Dev

通过HTML表单将JavaScript变量传递给视图

来自分类Dev

将变量传递给由多个视图扩展的 Django 模板

Related 相关文章

热门标签

归档