Я пытаюсь предоставить некоторые данные, на мой взгляд. Однако, когда я пытаюсь получить доступ к элементам моего фиктивного массива, я продолжаю получать сообщение об ошибке «Невозможно получить доступ к смещению строки типа в строке». И я не знаю, что вызывает эту ошибку. Я новичок в PHP, поэтому мне нужна помощь.
Это данные, которые я пытаюсь обслужить
Route::get('/', function () {
return view('home', [
'jobs' => [
'title' => 'Influencer',
'salary' => '790,340'
],
[
'title' => 'Farmer',
'salary' => '560,890'
],
[
'title' => 'Doctor',
'salary' => '760,881'
],
[
'title' => 'Engineer',
'salary' => '1,247,122'
]
]);
});
Это представление, которое я пытаюсь заполнить
<x-layout>
<x-slot:heading>
Home Page
</x-slot:heading>
@foreach ($jobs as $job)
<li>{{ $job['title'] }}</li>
@endforeach
</x-layout>
Предыдущие дубли: Передача многомерного массива в блейд с помощью контроллера и Передача массива из контроллера для просмотра в Laravel
Проблема в том, что массив jobs
не структурирован должным образом. Вам необходимо убедиться, что все элементы массива jobs
заключены в замыкание основного массива (т. е. []
). Используйте это вместо этого.
Route::get('/', function () {
return view('home', [
'jobs' => [
[
'title' => 'Influencer',
'salary' => '790,340'
],
[
'title' => 'Farmer',
'salary' => '560,890'
],
[
'title' => 'Doctor',
'salary' => '760,881'
],
[
'title' => 'Engineer',
'salary' => '1,247,122'
]
]
]);
});
Пожалуйста, проголосуйте за закрытие вопросов с опечатками вместо того, чтобы отвечать на них. Пожалуйста, проголосуйте за закрытие новых повторяющихся вопросов вместо того, чтобы отвечать на них. Пожалуйста, не просите других пользователей голосовать за ваш вклад. 😊
Если бы вы распечатали созданную структуру, вы бы увидели опечатку — первый подмассив имеет ключ
jobs
, затем индексируются последующие подмассивы. Вопросы с опечатками не учитываются Stack Overflow.