首页 > 解决方案 > Laravel刀片模板:检查记录存在于数据透视表中

问题描述

我有两个模型,它们由数据透视表(taxrule_rates)、TaxRule(table tax_rules)和 TaxRate(table tax_rates)连接现在在刀片模板下拉列表中,检查税率记录的方法是存在于相应模型的数据透视表中. 我想在税则的下拉列表中预先选择税率选项。

edit_taxrule 刀片下拉菜单是:

@foreach($taxrates as $taxrate)
   <option value="{{$taxrate->id}}" >{{$taxrate->rate_name}}</option>
@endforeach

在 TaxRuleController 中:

 $taxrule = $TaxRule::find($id);
 $taxrates = TaxRate::get();

标签: laravelpivotlaravel-blade

解决方案


正如 Kashif 在评论中提到的,您可以使用该count功能来检查模型之间是否存在任何关系。

要预先选择一个有关系的,你可以这样做:

@foreach($taxrates as $taxrate)
    @if($taxrate->TaxRateRules->count() > 0)
        <option selected value="{{$taxrate->id}}" >{{$taxrate->rate_name}}</option>
    @else
        <option value="{{$taxrate->id}}" >{{$taxrate->rate_name}}</option>
    @endif
@endforeach

推荐阅读