【问题标题】:how to pass variables from controller to multiple views如何将变量从控制器传递到多个视图
【发布时间】:2020-12-31 18:01:29
【问题描述】:

我有一个 homeController 函数,我想将多个变量从这个控制器函数传递给所有视图,而不仅仅是欢迎视图

class HomeStatsController extends Controller
{
    public function datacases()
    {
        // $malades=DB::table('stats')->first();
        // $malades = DB::table('stats')->where('date', '=', DATE(now()));
        $maj =   DB::table('stats')->orderBy('id', 'desc')->value('created_at');
        $malades =   DB::table('stats')->whereDate('date', \Carbon\Carbon::today())->get()->sum('nbrmal');
        $guerris= DB::table('stats')->whereDate('date', \Carbon\Carbon::today())->get()->sum('nbrgue');
        $morts = DB::table('stats')->whereDate('date', \Carbon\Carbon::today())->get()->sum('nbrmort');
        $maladestotal =   DB::table('stats')->get()->sum('nbrmal');
        $guerristotal = DB::table('stats')->sum('nbrgue');
        $mortstotal = DB::table('stats')->sum('nbrmort');
        $publications =   DB::table('informations')->orderBy('created_at', 'desc')->limit(3)->get();
        
        return view('welcome',compact('malades','maj','guerris','morts', 'maladestotal', 'guerristotal', 'mortstotal','publications'));
    } }

【问题讨论】:

标签: database laravel


【解决方案1】:

向所有视图共享变量的简单方法是

<?php

namespace App\Providers;

use Illuminate\Support\Facades\View;
use Illuminate\Support\ServiceProvider;

class AppServiceProvider extends ServiceProvider
{
    /**
     * Register any application services.
     *
     * @return void
     */
    public function register()
    {
        //
    }

    /**
     * Bootstrap any application services.
     *
     * @return void
     */
    public function boot()
    {
        view()->share('key','value');
    }
}

但如果您想分享到特定视图,请使用(视图作曲家)

https://laravel.com/docs/6.x/views#view-composers

【讨论】:

  • 我可以复制启动功能中的sql请求吗?例如:$guerris= DB::table('stats')->whereDate('date', \Carbon\Carbon::today())->get()->sum('nbrgue');我可以把变量:因为它是写的?因为这不是我在其他教程中找到的简单的从表中选择全部
  • 终于可以在boot函数里写一个完整的sql请求了,我刚导入:use Illuminate\Support\Facades\DB;
猜你喜欢
  • 2011-09-14
  • 1970-01-01
  • 2012-02-10
  • 1970-01-01
  • 1970-01-01
  • 2014-12-08
  • 1970-01-01
相关资源
最近更新 更多