Мне нужна небольшая поддержка здесь
Я использую 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