【发布时间】:2020-12-25 02:24:48
【问题描述】:
我开发了一个库存管理系统,其中可以使用 products 表和 order_details 表。现在我想显示根据 product_id 售出的产品数量以及要在刀片模板循环上显示的总和数量。其中 Product 表 ID 等于 order_details product_id。但不幸的是,它没有显示。
产品控制器索引功能
public function index()
{
$orderdetail = DB::table('order_details')
->select('quantity', DB::raw('sum(quantity) as sum'))
->groupBy('product_id')
->havingRaw('SUM(quantity)')
->get();
$products = Product::latest()->with('category', 'supplier', 'orderdetail')->get();
return view('admin.product.index', compact('products', 'orderdetail'));
}
产品模型
class Product extends Model
{
protected $dates = [
'buying_date', 'expire_date',
];
public function category()
{
return $this->belongsTo(Category::class);
}
public function supplier()
{
return $this->belongsTo(Supplier::class);
}
public function orderdetail()
{
return $this->belongsTo('App\OrderDetail', 'id', 'product_id');
}
}
和剑
@foreach($products as $key => $product)
<tr>
<td>{{ $key + 1 }}</td>
<td>{{ $product->name }}</td>
<td>
<img class="img-rounded" style="height:35px; width: 35px;" src="{{ URL::asset("storage/product/".$product->image) }}" alt="{{ $product->name }}">
</td>
<td>{{ $product->category->name }}</td>
<td>{{ $product->supplier->name }}</td>
<td>{{ $product->code }}</td>
<td>{{ $product->buying_date->toFormattedDateString() }}</td>
<td>{{ number_format($product->buying_price, 2) }}</td>
<td>{{ number_format($product->selling_price, 2) }}</td>
<td>{{ $product->product_unit }}</td>
<td>000000</td>
<td>{{ $product->orderdetail->sum }}</td>
<td>
<div class="btn-group">
<button type="button" class="btn btn-default">Click</button>
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
<span class="caret"></span>
<span class="sr-only">Toggle Dropdown</span>
</button>
<ul class="dropdown-menu" role="menu" style="min-width:auto">
<li><a href="{{ route('admin.product.show', $product->id) }}">Show</a></li>
<li><a href="{{ route('admin.product.edit', $product->id) }}">Edit</a></li>
</ul>
</div>
</td>
</tr>
@endforeach
但它什么也没显示。放置后
dd($orderdetail, $products);
它正在显示这个结果。
所以任何人都可以帮助解决这个问题。我无法在刀片上显示。
【问题讨论】:
-
它显示的总数量列值不是根据 product_id 但我想要按 product_id 分组的总和值。
标签: laravel laravel-5 sum aggregate-functions laravel-blade