【发布时间】:2018-10-01 01:08:12
【问题描述】:
我想使用迁移到属于特定用户的用户表的 area_id 获取区域、城镇、地区和国家/地区的名称。
我有 5 张桌子,其中包括,
带有 id、名称和描述的 Country 表。
带有 id、name、description 和 country_id 的 Region 表
带有 id、name、description 和 region_id 的 Town 表。
带有 id、name、description 和 town_id 的 Area 表。
我有一个用户表,其中 area_id 的值迁移到用户表并具有属性 id、name、surname、email、phone、area_id。
如果 area_id 存在于使用 Laravel 的数据库中的用户表中,我想知道如何获取特定用户的地区、城镇、地区和国家/地区的名称。
在我的用户控制器中,我做了这样的事情
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function accueil(Session $session)
{
$recentJobbers =User::with('Area')
->limit(5)
->whereType('jobber')
->orderBy('updated_at', 'desc')
->get();
return view('home', compact('recentJobbers','areas', 'categories'));
}
在我的刀片视图的一部分中,我这样做了
<div class="col-lg-12">
<div class="heading">
<h2>Jobbeurs en vedette</h2>
<span>Principaux jobbers ayant déjà été solicités pour leur travail.</span>
</div><!-- Heading -->
<div class="job-listings-sec">
@foreach($recentJobbers as $recentJobber)
<div class="job-listing">
<div class="job-title-sec">
<div class="c-logo"> <img src="{{url('images/avatars/'. $recentJobber->photo) }}" alt="Image" /> </div>
<h3><a href="{{ route('profileDetails', ['id'=>$recentJobber->id]) }}" title="">{{ $recentJobber->name }} {{ $recentJobber->surname }} <span style="float:right; padding-left: 10px;">(a ete contacte 25 fois)</span></a></h3>
<span>{{ $recentJobber->title }}</span>
</div>
<span class="job-lctn"><i class="la la-map-marker"></i>{{ $recentJobber->area->name }}, {{ $recentJobber->town->name }}, {{ $recentJobber->region->name }}</span>
<span class="fav-job"><i class="la la-heart-o"></i></span>
<a href="{{ route('profileDetails', ['id'=>$recentJobber->id]) }}" class="job-is ft">Voir Profil</a>
</div><!-- Job -->
@endforeach
</div>
</div>
在我的用户模型中,我做了类似的事情
public function category()
{
return $this->belongsTo('App\Category');
}
public function service()
{
return $this->belongsTo('App\Service');
}
public function region()
{
return $this->belongsTo('App\Region');
}
public function town()
{
return $this->belongsTo('App\Town');
}
public function area()
{
return $this->belongsTo('App\Area');
}
但它只返回区域名称。不返回城镇、地区或国家名称。
我想知道实现这一目标的最简单方法是什么。欢迎任何帮助
【问题讨论】:
标签: sql laravel laravel-5 relationship