我正在构建资产管理系统。我想在控制器中进行以下计算以显示在视图中。
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']);
如何实现?
答案 0 :(得分:1)
如果您希望将price
,dep
和netprice
发送到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