未定义变量:Blade Laravel 7.x中的横幅

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了未定义变量:Blade Laravel 7.x中的横幅相关的知识,希望对你有一定的参考价值。

我是laravel 7.x的新手。我收到错误消息“未定义的变量:横幅(视图:C: xampp htdocs mytravel resources views admin index.blade.php)“请帮助查找问题出在哪里,我该如何解决?

这里是BannerController.php


namespace AppHttpControllers;

use IlluminateHttpRequest;
use AppBanner;

class BannerController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return IlluminateHttpResponse
     */
    public function index()
    {
        // $banners = Banner::all()->toArrary();
        // return view('admin.index', ['banners' =>$banners]));

        $banners = Banner::all();
        return view('admin.index', compact('banners'));
    }

    /**
     * Show the form for creating a new resource.
     *
     * @return IlluminateHttpResponse
     */
    public function create()
    {
        return view('admin.layout.bannercustomize');
    }

    /**
     * Store a newly created resource in storage.
     *
     * @param  IlluminateHttpRequest  $request
     * @return IlluminateHttpResponse
     */
    public function store(Request $request)
    {
        $this->validate($request, [
            'h4_title' => 'required',
            'h2_title' => 'required',
            'banner_paragraph' => 'required'
        ]);

        $banner = new Banner([
            'h4_title' => $request->get('h4_title'),
            'h2_title' => $request->get('h2_title'),
            'banner_paragraph' => $request->get('banner_paragraph'),
        ]);
        $banner->save();

        return redirect()->back()->with('success', 'Data Added');
    }

    /**
     * Display the specified resource.
     *
     * @param  int  $id
     * @return IlluminateHttpResponse
     */
    public function show($id)
    {
        //
    }

    /**
     * Show the form for editing the specified resource.
     *
     * @param  int  $id
     * @return IlluminateHttpResponse
     */
    public function edit($id)
    {
        //
    }

    /**
     * Update the specified resource in storage.
     *
     * @param  IlluminateHttpRequest  $request
     * @param  int  $id
     * @return IlluminateHttpResponse
     */
    public function update(Request $request, $id)
    {
        //
    }

    /**
     * Remove the specified resource from storage.
     *
     * @param  int  $id
     * @return IlluminateHttpResponse
     */
    public function destroy($id)
    {
        //
    }
}

这里是web.php


use IlluminateSupportFacadesRoute;

/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/

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

Route::get('/contact-us', function () {
    return view('contactus');
});

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

// Admin panel Pages Routes

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

Route::get('/admin/bannercustomize', function () {
    return view('admin/layout/bannercustomize');
});
// Controller routes
Route::resource('banner', 'BannerController');

这里是模型Banner.php


namespace App;

use IlluminateDatabaseEloquentModel;

class Banner extends Model
{
    protected $fillable = ['h4_title', 'h2_title', 'banner_paragraph', 'banner_photo'];
}

这里是index.blade.php


@section('content')
<div class="container-scroller">
      <!-- partial:partials/_navbar.html -->
      @include('admin.layout.nav')

      <!-- partial -->
    <div class="container-fluid page-body-wrapper">
        <!-- partial:partials/_sidebar.html -->
        @include('admin.layout.sidebar')
        <!-- partial -->
        <div class="main-panel">
          <div class="content-wrapper">
            <!-- Page Title Header Starts-->
            <div class="row page-title-header">
              <div class="col-12">
                <div class="page-header">
                  <h4 class="page-title">Dashboard</h4>

                </div>
              </div>

            </div>
            <!-- Page Title Header Ends-->


            <div class="row">
              <div class="col-md-12">
                <div class="row">
                  <div class="col-md-12 grid-margin">
                    <div class="card">
                      <div class="card-body">
                        <div class="d-flex justify-content-between">
                          <h4 class="card-title mb-0">Banner</h4>
                          <a href="#"><small>Show All</small></a>
                        </div>
                        <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Est quod cupiditate esse fuga</p>
                        <div class="table-responsive">
                          <table class="table table-striped table-hover">
                            <thead>
                              <tr>
                                <th>ID</th>
                                <th>H4 Title</th>
                                <th>H2 Title</th>
                                <th>Paragraph</th>
                                <th>Image</th>
                                <th>Edit</th>
                                <th>Delete</th>
                              </tr>
                            </thead>
                            <tbody>
                              @foreach($banners as $banner)
                              <tr>
                                <td>{{$banner->id}}</td>
                                <td>{{$banner->h4_title}}</td>
                                <td>{{$banner->h2_title}}</td>
                                <td>{{$banner->banner_paragraph}}</td>
                                <td>no image</td>
                                <td></td>
                                <td></td>
                              </tr>
                              @endforeach
                            </tbody>
                          </table>
                        </div>
                      </div>
                    </div>
                  </div>


                </div>
              </div>

            </div>

          </div>
          <!-- content-wrapper ends -->
          <!-- partial:partials/_footer.html -->
          @include('admin.layout.footer')
          <!-- partial -->
        </div>
        <!-- main-panel ends -->
    </div>
      <!-- page-body-wrapper ends -->
</div>
<!-- container-scroller -->

@endsection

N.B:我正试图在admin index.blade.php文件中显示我所有的表数据

答案

您必须这样使用

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

以上是关于未定义变量:Blade Laravel 7.x中的横幅的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 7:foreach 循环中未定义的变量

未定义的变量:Laravel中的错误

视图laravel内部未定义的变量

选择框 laravel 未定义的变量

vue.js 的 Laravel 未定义变量异常

未定义的变量 Laravel 8 [关闭]