現在、LaravelでECサイトの作成をしています。
タイトルどり、
Undefined variable: items (View: /home/vagrant/code/resources/views/admin/items/index.blade.php)
のエラーがでております。
Controllerでもitemsに定義しているはずなのですが、このようにエラーが出ています。
seedで作成したデータを確認のため、viewで出力を試みたところ、エラーが出ました。
tinker、Mysqlともにデータの所在は確認しております。
php
1 @if (isset($items)) 2 <p>$items</p> 3 @else 4 <p>Hello</p> 5 @endif
上記で試したところ、viewにはHelloが出力されたため、itemがnullということでしょうか。
下記に関係するファイルを提示します。
web.php(一部抜粋)
php
1Route::prefix('admin/items')->name('admin.items.')->group(function() { 2 Route::get('index', 'ItemsController@index')->name('index'); 3}); 4
admin/items/index.blade.php
php
1@extends('layouts.app') 2 3@section('content') 4 @if (count($items) > 0) 5 @foreach ($items as $item) 6 <p>{{ $item->id }}</p> 7 <p>{{ $item->name }}</p> 8 <p>{{ $item->desc }}</p> 9 <p>{{ $item->price }}</p> 10 <p>{{ $item->imgpath }}</p> 11 @endforeach 12 @endif 13@endsection
ItemController
php
1class ItemsController extends Controller 2{ 3 public function index() 4 { 5 $data = []; 6 7 if (\Auth::check()){ 8 $admin = \Auth::admin(); 9 10 11 $items = Item::first(); 12 13 $data = ( 14 'admin' => $admin, 15 'items' => $items, 16 ); 17 18 } 19 return view('admin.items.index', $data); 20 21 } 22
$adminは現在は出力させていませんが、後に出力させたいので、定義しております。
他、参照したいファイルございましたら、おっしゃってください。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/12/10 05:09
2020/12/10 08:23