Laravel 5.4:一对多,一对一

Laravel 5.4:一对多,一对一,laravel,one-to-many,Laravel,One To Many,我创建了用户所属城镇的一对一关系,因此在用户模型中我有: public function town() { return $this->belongsTo('App\Town'); } 在用户表中,我有town\u id列。所以,当用户发布一些东西时,它会说用户来自那个城镇。这很有效 现在,我创建了一个属于App\Town的定居点模型(许多用户可能来自一个城镇),所以当与某个用户创建定居点时,它会再次显示用户所在城镇和定居点,其中也包含城镇id作为该用户表。(我希望我没有混淆)

我创建了用户所属城镇的一对一关系,因此在用户模型中我有:

public function town()
{
    return $this->belongsTo('App\Town');
}
在用户表中,我有town\u id列。所以,当用户发布一些东西时,它会说用户来自那个城镇。这很有效

现在,我创建了一个属于App\Town的定居点模型(许多用户可能来自一个城镇),所以当与某个用户创建定居点时,它会再次显示用户所在城镇和定居点,其中也包含城镇id作为该用户表。(我希望我没有混淆)

问题:当用户登录时,如何仅显示来自其城镇的定居点

这是我到目前为止的代码:

AdminSettlementsController:

public function index()
{
    $settlements = Settlement::paginate(10);
    $towns = Auth::user()->town->id;
    $town[$towns] = Auth::user()->town->name;
    $reon = Reon::pluck('name', 'id')->all();

    return view('admin.settlements.index', compact('settlements', 'town', 'reon'));
}
用户模型具有以下特性:

public function town()
{
    return $this->belongsTo('App\Town');
}
文件夹中的index.blade.php有以下表格:

@if ($settlements)
    @foreach ($settlements as $settlement)
          <tr>
            <td>{{ $settlement->id }}</td>
            <td>{{ $settlement->town->name }}</td>
            <td>{{ $settlement->reon->name }}</td>
            <td><a href="{{ route('settlements.edit', $settlement->id) }}">{{ $settlement->name }}</a></td>
          </tr> 
    @endforeach 
@endif
@if($结算)
@foreach($结算为$结算)
{{$结算->id}
{{$settlement->town->name}
{{$consolution->reon->name}
@endforeach
@恩迪夫
我假设在Town模型中,我需要有resolutions()方法,该方法有许多App\resolution,但我不知道如何从那里开始


我希望我的英语不是太差。谢谢

您可以执行结算::where('town\u id',Auth::user()->town\u id)->分页(10);我认为这解决了问题。谢谢你,Kasijus。你可以做结算::where('town_id',Auth::user()->town_id)->分页(10);我认为这解决了问题。谢谢你,Kasijus。