繁体   English   中英

Laravel array_merge():参数 #2 不是数组错误

[英]Laravel array_merge(): Argument #2 is not an array Error

所以,我是 Laravel 的新手,我目前正在学习技术日记的教程( https://www.techiediaries.com/php-laravel-crud-mysql-tutorial/

我真的没有任何使用 Laravel 或任何框架的经验,但我在 PHP 方面有经验,这是 Laravel 的第一次尝试。

我收到以下消息:

ErrorException array_merge():参数 #2 不是数组

当我查看http://localhost/laravel-first-crud-app/public/

Route::get('/', function () {
    return view('contacts.index', 'ContactController');
    //return 'Hello';
});

Route::resource('contacts', 'ContactController');
//Route::apiResource('contacts', 'ContactController'); //Not sure if this should be here or not

在 routes/web.php 但我在教程中看不到如何访问我创建的页面

不确定我的contactController.php文件是否有帮助:

public function index()
    {
         $contacts = Contact::all();

         return view('contacts.index', compact('contacts'));
    }

它是 Laravel 6 和 PHP7.1

任何帮助将非常感激

谢谢

您的问题是以下声明:

return view('contacts.index', 'ContactController');

view function 将字符串作为第一个参数,将数组作为第二个参数,以便将数据传递给视图。 不确定您将 Controller 名称的字符串作为数据传递的意图是什么。

如果没有数据要发送到视图,请不要使用第二个参数:

return view('contacts.index');

Laravel 6.x 文档 - 视图 - 将数据传递给视图

教程中的路线:

Route::get('/', function () {
    return view('welcome');
});

Route::resource('contacts', 'ContactController');

Laravel 使用此语法将路由链接到 controller 方法

我想这就是你想要做的

Route::get('/', 'ContactController@index');

顺便说一句,由于 Laravel 5.5... 您也可以直接链接到没有 controller 的视图并传递参数

Route::view('/', 'contacts.index', ['contacts' => App\Contact::all()]);

查看查看路线希望这会有所帮助

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM