如何使用渴望在laravel中使用provincenid打印省名?

时间:2018-08-08 14:49:01

标签: php mysql laravel-5

我正在使用laravel 5.6开发应用。

在我的应用程序中,我有三个表,分别是省,地区,镇,这些模型具有以下关系:

Province
    public function districts()
    {
        return $this->hasMany(District::class);
    }

District
    public function province()
    {
       return $this->belongsTo(Province::class);
    }

Town
    public function district()
    {
        return $this->belongsTo(District::class);
    }

现在我可以在Controller中使用渴望的Loder来获取数据了:

$town_list = Town::with('district.province')->groupBy('provinceid')->get();

blade文件中的下拉选择输入

<div class="form-group">
            <label for="exampleFormControlSelect1">Province</label>
        <select name="province_id" id="province_id" class="form-control input dynamic" data-dependent="district_id" >
            <option value="">Select Province</option>
            @foreach($town_list as $town)
            <option value="{{$town->provinceid}}">{{$town->provinceid}}</option>
            @endforeach
        </select>
        </div>

现在我可以在我的选择输入中看到省份名称,但是我需要在我的选择输入,表结构中打印省份名称

provinces
id    name
1    alabama
2    prodova

districts
id   name    province_id
1     x          1
2     y          2

towns
id   name    district_id    province_id
1     gh          1              1
2     ju          2              2

1 个答案:

答案 0 :(得分:1)

首先,您可以从province_id表中删除该Town。镇区为您提供所需的省份ID($town->district->province_id$town->district->province->id)。

此外,要打印省名,您可以链接您的关系。如前所述,您可以使用$town->district->province->name来获取它。

<option value="{{$town->district->province->id}}">{{$town->district->province->name}}</option>