为了账号安全,请及时绑定邮箱和手机立即绑定

功能显示结果是控制器内部的视图刀片(LARAVEL,PHP)

功能显示结果是控制器内部的视图刀片(LARAVEL,PHP)

PHP
拉风的咖菲猫 2022-08-19 09:59:02
我想在主页视图边栏选项卡中显示总金额(表 = 付款,冒号 = 金额)我通过路由测试了另一种方法,这工作正常,但结果显示在/test中:Route::get('/test', function(){ $total = DB::table('payments') ->where('status', '=', 'success')   //this for collect only the success payments->sum('payments.amount'); return   $total;   //  work fine the result is correct});但我的目的是通过在以前的代码中将函数从路由移动到控制器并在视图中调用它来在主视图中显示此结果。对于控制器,我有Homecontroller,但功能索引是aleardy使用的,所以我在这个控制器中创建新函数,我试试这个public function show(){ $total = DB::table('payments') ->where('status', '=', 'success') ->sum('payments.amount'); return  view('home' , $total); }对于路由我把这个Route::get('/home', 'HomeController@show');我在视图内尝试了这个,但没有工作:<h1>{{$total}}</h1>
查看完整描述

3 回答

?
莫回无

TA贡献1865条经验 获得超7个赞

您可以使用紧凑的函数发送总变量结果,如下所示。


return  view('home' , compact('total'));


// You can call it in home.blade like this 


//for example


@if(isset($total ))

    <li>{{ $total }}</li>

@endif


查看完整回答
反对 回复 2022-08-19
?
烙印99

TA贡献1829条经验 获得超13个赞

您可以使用with()


public function show(){

    $total = DB::table('payments')->where('status', '=', 'success')

                                  ->sum('payments.amount'); 

    return  view('home')->with('total', $total); 

}


查看完整回答
反对 回复 2022-08-19
?
森林海

TA贡献2011条经验 获得超2个赞

根据文档:

第二个参数是应提供给视图的数据的“数组”。

尝试:

return  view('home' , ['total' => $total]);

或使用 :->with('key',$value)

return view('home')->with('total', $total);

你也可以使用compact()函数,它是PHP中的内置函数,用于使用变量创建数组:

return  view('home' , compact("total"));


查看完整回答
反对 回复 2022-08-19
  • 3 回答
  • 0 关注
  • 117 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信