在我使用Laravel构建的Web应用程序中,我尝试根据数据库中的数据生成菜单。
我能够创建中间件,并且已经将它添加到kernel.php中,以便在每次请求时执行它。在middware中,我可以从模型中获取数据。
现在,我必须采取的下一步是将数据发送到视图。我已经用Google搜索了它,但我没有找到任何示例如何做到这一点。我用中间件走错了路吗?还是有办法做到这一点?
答案 0 :(得分:2)
您可以使用视图编辑器轻松完成此操作,尽管它可能不是最有效的方法。我之前在类似的情况下使用它没有问题。
生成菜单后,只需将其放入中间件即可。
view()->composer('*', function ($view) use ($menu) {
$view->with('menu', $menu);
});
答案 1 :(得分:1)
你可能想要这样的东西
wwwroot
答案 2 :(得分:1)
我不久前遇到过类似的问题,我需要在每个页面的导航栏中显示一些类别。所以我创建了一个新的提供者:
php artisan make:provider ComposerProvider
这是里面的代码:
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
class ComposerServiceProvider extends ServiceProvider
{
/**
* Bootstrap the application services.
*
* @return void
*/
public function boot()
{
view()->composer('*', function($view)
{
$view->with('categories', \App\Category::all());
});
}
/**
* Register the application services.
*
* @return void
*/
public function register()
{
//
}
}
然后你可以拨打'类别'变量在每个页面中,或在我的情况下的菜单中。就是这样。希望它有所帮助!