我在这里再次请求您的帮助。
我想将“分支产品”与“数量”分组,但是,我无法将产品名称显示为产品名称。截至目前,我显示的是产品ID而不是产品名称
//return MaintainOverride(ruleKey, dto);
return null;
}
public ActionResult MaintainOverride(ComRuleCompoundKeyDto ruleKey, ComRuleOverrideDto dto)
{
var currencies = _srv.GetAllCurrenciesUsedByDealers().Select(x => x.CurrencyCode);
var custTypes = _srv.GetAllCustomerTypes();
var unitIds = _srv.GetUnitIds();
var vm = new OverridesViewModel(currencies, custTypes, unitIds, ruleKey, dto);
return View(vm);
}
public class StupidDto
{
public ComRuleCompoundKeyDto ruleKey;
public ComRuleOverrideDto dto;
}
分支模型
+-----------------+ +-----------------+ +----------------+
| product table | | quantity table | | branch table |
+-----------------+ +-----------------+ +----------------+
| id | | prod_id | | id |
| productname | | branch_id | | branchname |
+-----------------+ | quantity | +----------------+
+-----------------+
数量模型
public function products()
{
return $this->hasMany('App\Quantity', 'branch_id');
}
产品型号
public function branch()
{
return $this->belongsTO('App\Branch', 'branch_id', 'id');
}
我的观点
public function productquantities()
{
return $this->hasMany('App\Quantity','prod_id');
}
我的控制器
@foreach($dataBranch as $Branch)
<h1>Branch {{$Branch->branch_name}}</h1>
<table class="table table-striped table-bordered">
<thead>
<tr>
<th> </th>
<th>Product Name</th>
<th>Quantity</th>
</tr>
</thead>
<tbody>
@forelse($Branch->products as $Product)
<tr>
<td align="center" style="text-align:center"> <a href="#" class="avatar"><img src="{{ asset('productimg') }}/" width="100px"/> </a> </td>
<td> <a class="name">{{$Product->prod_id}} //this should be the product name instead of product id</a></td>
<td><em class="productprice">{{$Product->quantity}}</em> </td>
</tr>
@empty
<tr><td colspan='4'><em>No Data</em></td></tr>
@endforelse
</tbody>
</table>
@endforeach
答案 0 :(得分:0)
截至目前,您正在将分支与数量表而非产品表连接在一起。您可以在Branch模型中进行以下操作(未经测试)。这个想法是通过从分支到产品的数量的联接。
public function productsThroughQuantity() {
// The columns need to be added
return $this->hasManyThrough('App\Products', 'App\Quantity', <columns>);
}
但是,我看到的一个问题是,如果您这样做,可能会收到有关分支和产品ID字段的列不明确的SQL警告。我会在您的产品表ID => product_id和分支表ID => branch_id中重命名。在数量表中,将branch_id重命名为branch_table_id。
然后在您的分支和产品模型中:
protected $primaryKey = "<branch/products>_id";