Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Laravel 未定义变量:名称 我将数据从控制器推送到视图时遇到困难。下面是我的代码脚本。_Laravel_Laravel 5 - Fatal编程技术网

Laravel 未定义变量:名称 我将数据从控制器推送到视图时遇到困难。下面是我的代码脚本。

Laravel 未定义变量:名称 我将数据从控制器推送到视图时遇到困难。下面是我的代码脚本。,laravel,laravel-5,Laravel,Laravel 5,我使用artisan创建了我的控制器ListController php artisan make:controller ListController ListController-show方法 <?php namespace App\Http\Controllers; use Illuminate\Http\Request; class ListController extends Controller { public function listNames()

我使用artisan创建了我的控制器
ListController

php artisan make:controller ListController
ListController-show方法

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class ListController extends Controller
{

    public function listNames()
    {
        $names = array(
            'Daenerys Targaryen', 
            'Jon Snow',
            'Arya Stark',
            'Melisandre',
            'Khal Drogo'
        );

        return view('welcome', ['names' => $names]);
    }
}
然后,为它添加适当的路由(routes.php)

到目前为止,我尝试了以下方法: 在控制器中:

return view('welcome', compact('names'));      --> DOESN'T WORK
return view('welcome', $names);                --> DOESN'T WORK
return view('welcome')->with($names);          --> DOESN'T WORK
return view('welcome')->with('names', $names); --> DOESN'T WORK
在视图中对数组进行硬编码并为其指定一个变量是有效的

<?php $names = array('John Snow', 'Arya Stark');?>
<?php foreach ($names as $n):?>
<tr>
    <td><?php echo $n;?></td>
</tr>
<?php endforeach;?>


我似乎看不出这个问题。非常感谢您的帮助。

您应该使用数组传递变量:

return view('welcome', ['names' => $names]);
或者只是:

return view('welcome', compact('names'));
要选中它,请在视图中执行此操作:

{{ dd($names) }}

应使用数组传递变量:

return view('welcome', ['names' => $names]);
或者只是:

return view('welcome', compact('names'));
要选中它,请在视图中执行此操作:

{{ dd($names) }}

首先,像Alexey说的那样传递变量

返回视图('welcome',['names'=>$names])

然后,在视图上,执行以下操作

@foreach($n名称)
这是名字{{$n}

@endforeach


这里的文档:

首先,按照Alexey所说的传递变量

返回视图('welcome',['names'=>$names])

然后,在视图上,执行以下操作

@foreach($n名称)
这是名字{{$n}

@endforeach


此处的文档:

已设法解决此问题。 在花了这么多时间寻找bug之后,我试图检查laravel版本是否与此有关。
routes.php
LaravelV5.3+
中不起作用,我使用的是
LaravelV5.4.x

路由在一个名为
routes
的目录中可用,因此我将代码从
routes.php
粘贴到
routes/web.php
并且它起作用了

<?php

Route::get('/', 'ListController@listNames');

设法解决了该问题。
在花了这么多时间寻找bug之后,我试图检查laravel版本是否与此有关。
routes.php
LaravelV5.3+
中不起作用,我使用的是
LaravelV5.4.x

路由在一个名为
routes
的目录中可用,因此我将代码从
routes.php
粘贴到
routes/web.php
并且它起作用了

<?php

Route::get('/', 'ListController@listNames');


为什么您不在刀片视图中使用刀片?这是非常随机的,但您在任何地方都没有重复的项目,是吗?只是您的错误表明您的文件在一个MAMP目录中,但您仍然在使用php artisan serve命令,如果您正在运行MAMP,您实际上不需要使用该命令。可能很难,但我想问一下,我不需要使用
php artisan serve
,我还有其他项目在MAMP上运行。但是,它只是让我的生活更容易与artisan:)为什么你不使用刀片在您的刀片视图虽然?这是非常随机的,但你没有一个重复的项目在任何地方,你呢?只是您的错误表明您的文件在一个MAMP目录中,但您仍然在使用php artisan serve命令,如果您正在运行MAMP,您实际上不需要使用该命令。可能很难,但我想问一下,我不需要使用
php artisan serve
,我还有其他项目在MAMP上运行。但是,它只是让我的生活更容易与工匠:)谢谢。我已经尝试了以上所有操作,但仍然显示相同的错误
未定义变量
是,我确实更改为
列表名
。同样的事情,显示同样的错误。@h4kl0rd请显示所有路由,可能有冲突。您是否显示了整个
欢迎
视图,或者只是其中的一部分?我已经用最新的更新更新了我的问题。请参考问题。@h4kl0rd您的代码看起来不错。我唯一想做的就是用
php-artisan-route:clear
php-artisan-view:clear
清除路由和查看缓存。谢谢。我已经尝试了以上所有操作,但仍然显示相同的错误
未定义变量
是,我确实更改为
列表名
。同样的事情,显示同样的错误。@h4kl0rd请显示所有路由,可能有冲突。您是否显示了整个
欢迎
视图,或者只是其中的一部分?我已经用最新的更新更新了我的问题。请参考问题。@h4kl0rd您的代码看起来不错。我唯一想做的就是用
php-artisan-route:clear
php-artisan-view:clear
.route.php>
route::get(“/”,)来清除路由和查看缓存ListController@listNames');和控制器方法更改为
listNames()
。我还删除了php脚本并使用了blade格式。我认为问题不在于使用刀片格式,因为在视图中定义数组变量会加载名称。但是,当我尝试从控制器推送数据时,它显示
未定义变量
错误。请尝试删除缓存。。。值得一试。。。php artisan视图:clearRoute.php>
Route::get('/','ListController@listNames');和控制器方法更改为
listNames()
。我还删除了php脚本并使用了blade格式。我认为问题不在于使用刀片格式,因为在视图中定义数组变量会加载名称。但是,当我尝试从控制器推送数据时,它显示
未定义变量
错误。请尝试删除缓存。。。值得一试。。。php artisan视图:清除