Php 如何在laravel中使用provinceid打印省名?
我正在使用laravel 5.6开发应用程序 在我的应用程序中,我有三个表作为省、区、镇,这些模型具有以下关系:Php 如何在laravel中使用provinceid打印省名?,php,mysql,laravel-5,Php,Mysql,Laravel 5,我正在使用laravel 5.6开发应用程序 在我的应用程序中,我有三个表作为省、区、镇,这些模型具有以下关系: Province public function districts() { return $this->hasMany(District::class); } District public function province() { return $this->belongsTo(Province
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
中使用eager 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>
首先,您可以从您的
Town
表中删除该province\u id
。城镇地区为您提供所需的省id($town->District->province\u id
或$town->District->province->id
)
此外,要打印省名,您可以链接您的关系。如前所述,您可以使用$town->district->province->name
获得它
<option value="{{$town->district->province->id}}">{{$town->district->province->name}}</option>
{{$town->district->province->name}
在试图获取非对象的属性时发生此错误msg->groupBy('provinceid')
这是有效的吗?似乎没有任何列的名称为provinceid
。另外,你能给我发一条完全错误的消息吗?检测问题可能更有帮助。完整错误消息试图获取218536a4e8b355ff34185defd1fcb8465089362a.php中非对象的属性(视图:C:\Users\banda\Desktop\dgtr\resources\views\cars\carform.blade.php)。php第26行我的第26行是{{$town->district->provincename']}{$town district->provincename}
{{$town->district->province->name}。
<option value="{{$town->district->province->id}}">{{$town->district->province->name}}</option>