Laravel array_merge (): аргумент № 2 не является ошибкой массива - PullRequest
0 голосов
/ 14 октября 2019

Итак, я новичок в Laravel и в настоящее время следую учебному пособию от технических специалистов (https://www.techiediaries.com/php-laravel-crud-mysql-tutorial/)

. У меня нет особого опыта использования Laravel или каких-либо фреймворков, но у меня есть опыт вPHP и это первая попытка Laravel.

Я получаю следующее сообщение:

ErrorException array_merge (): Аргумент # 2 не является массивом

Когда яview 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

В маршрутах / web.php, но я не мог видеть в руководстве, как получить доступ к страницам, которые я создал

Не уверен, если это поможет мой contactControllerФайл .php имеет следующее:

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

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

И это Laravel 6 с PHP7.1

Любая помощь будет высоко ценится

Спасибо

Ответы [ 2 ]

0 голосов
/ 14 октября 2019

Laravel использует этот синтаксис для связи маршрутов с методами контроллера

Я думаю, это то, что вы хотите сделать

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

Кстати, начиная с Laravel 5.5 ... Вы также можетессылка на представление напрямую без контроллера и передача параметров

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

См. Просмотр маршрутов Надеюсь, это поможет

0 голосов
/ 14 октября 2019

Ваша проблема заключается в следующем утверждении:

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

Функция view принимает строку в качестве первого аргумента и массив в качестве второго аргумента для данных, передаваемых в представление. Не уверен, что вы намереваетесь передать в качестве данных строку имени контроллера.

Если нет данных для отправки в представление, не используйте второй аргумент:

return view('contacts.index');

Документы Laravel 6.x - Представления - Передача данных в представления

Маршруты из учебника:

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

Route::resource('contacts', 'ContactController');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...