Laravel 5.6 view composer, выдающий Ошибка Аргумент 2, переданный с (), должен быть вызванным или нулевым - PullRequest
0 голосов
/ 25 сентября 2018

Мне нужна небольшая поддержка здесь

Я использую Laravel 5.6.Я хочу заполнить боковую панель моего блога View Composer.Это дает мне ошибку из файла sidebarComposer.Я не знаю, что я делаю не так.Обратите внимание, что я зарегистрировал этого провайдера в файле config-> app.php.Ошибка:

ОШИБКА: Аргумент 2, переданный в with (), должен быть вызываемым или нулевым, заданный массив, вызываемый в C: \ xampp \ htdocs \ LaraSite2 \ app \ Http\ Composers \ SidebarComposer.php в строке 13

SidebarComposer.php

<?php        
        namespace App\Http\Composers;
        use App\Post;
        use App\User;
        use Illuminate\Contracts\View\View;


        class SidebarComposer {        
            public function compose(View $view){        
                $view-with('posts', Post::all());//This line is giving error
            }

        }

SidebarComposerProvider.php

class SidebarComposerProvider extends ServiceProvider
{
    /**
     * Bootstrap services.
     *
     * @return void
     */
    public function boot()
    {
        //
    }

    /**
     * Register services.
     *
     * @return void
     */
    public function register()
    {
        //Register composeSidebar funtion
        $this->composeSidebar();
    }
    public function composeSidebar(){
        view()->composer('layouts.aside','App\Http\Composers\SidebarComposer');
    }
}

макет для боковой панели (layouts.aside)

@foreach($posts as $post)
          <div class="blog-posts"><a href="#">
              <div class="item d-flex align-items-center">
                <div class="image"><img src="img/small-thumbnail-1.jpg" alt="..." class="img-fluid"></div>
              <div class="title"><strong>{{$post->title}}}</strong>
                  <div class="d-flex align-items-center">
                    <div class="views"><i class="icon-eye"></i> 500</div>
                    <div class="comments"><i class="icon-comment"></i>12</div>
                  </div>
                </div>
              </div></a>
            </div>
            @endforeach

1 Ответ

0 голосов
/ 25 сентября 2018

есть синтаксическая ошибка с вашим кодом SidebarComposer

$view-with('posts', Post::all());

использовать синтаксис

$view->with('posts', Post::all());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...