在View刀片式Laravel中显示来自Controller的计算

时间:2019-02-26 05:32:50

标签: laravel eloquent

我正在构建资产管理系统。我想在控制器中进行以下计算以显示在视图中。

table

我的路线

  public function depreciation()
    {

    $assets = Asset::all();

        $price = DB::table('assets')
            ->where('category_id', 1)
            ->sum('purchase_price');
        $dep = $price * 0.3333;
        $netprice = $price - $dep;

        return $netprice;

        return view('admin.assets.index')->with(['price','dep', 'netprice' => $netprice]);


}

我的观点

    Route::post('assets_depreciation', ['uses' => 'Admin\AssetsController@depreciation', 'as' => 'assets.depreciation']);

如何实现?

3 个答案:

答案 0 :(得分:1)

如果您希望将pricedepnetprice发送到admin.assets.index视图,则可以使用以下方法:

public function depreciation()
{
    $assets = Asset::all();

    $price = DB::table('assets')
            ->where('category_id', 1)
            ->sum('purchase_price');
    $dep = $price * 0.3333;
    $netprice = $price - $dep;

    return view('admin.assets.index')->with(['price' => $price,'dep' => $dep, 'netprice' => $netprice]);    
}

然后,您可以在查看文件{{ $price }}, {{ $dep }}, {{ $netprice }}中使用这些变量

答案 1 :(得分:1)

对于您的路由,您应该使用GET请求而不是POST。它应该看起来像这样:

Route::get('assets_depreciation', ['uses' => 'Admin\AssetsController@depreciation', 
'as' => 'assets.depreciation']);

Laravel的文档为您提供了有关其框架组件的正确用法示例,您可以在此处进行检查:Laravel/Routing。希望这会有所帮助!

答案 2 :(得分:0)

您需要在<% profileData.forEach(function(item, index){ %> <script type="text/javascript"> $(function(){ $('#btn-success').click(function(e){ e.preventDefault(); console.log('select_link clicked'); var userId = <%- JSON.stringify(item.userId) %>; console.log(userId); var data = {}; // data.Id = userId; data.message = "approved"; $.ajax({ type: 'POST', data: JSON.stringify(data), contentType: 'application/json', url: 'http://localhost:8080/', success: function(data) { console.log('success'); // console.log(JSON.stringify(data)); } }); }); }); </script> <% }); %> 中使用HTML刀片式内容创建文件index.blade.php,例如:

your_project/resources/views/admin/assets/

更多信息here。并删除第一个<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>my page</title> </head> <body> <div>Price: {{ $price }}</div> <div>Dep: {{ $dep }}</div> <div>Net price: {{ $netprice }}</div> </body> </html> 语句并将最后一个返回值更改为

return