【问题标题】:Show directory of people based on state in laravel在 laravel 中根据状态显示人员目录
【发布时间】:2018-07-30 06:59:36
【问题描述】:

目标:在 Laravel 中,按州显示人物目录,首先显示特色人物。

  • 我在 laravel 中有一个页面来显示来自 db 的人员的“目录” 每个州。
  • 有些是“精选”,在精选列中是/否。
  • 最初应该只显示特色人物
  • 然后用户可以从下拉列表中选择一个状态,然后显示处于该状态的人员。
  • 我有一个单独的表格,其中列出了州名和缩写,因此完整的州名可以显示为标题(不确定路由是否应该包含人员/州表的连接)
  • 目前,我只能显示所有州的所有人的完整列表

这是当前路线:

Route::get('/directory/people', function () {
    $lawyers = DB::table('people_directory')->get();
    return view('pages.directory.people', ['people' => $people]);
});

在视图中:

<div class="col-md-8">
            
<ul class="nav nav-tabs mb-20">
<li class="nav-item"><a class="nav-link active" href="">Featured</a></li>
<li class="nav-item"><a class="nav-link" href="">Select your state <span class="caret"></span></a>

<!-- state abbreviations list in dropdown -->
    <div class="dropdown-menu">
      <a class="dropdown-item" href="#">AK</a>
      <a class="dropdown-item" href="#">AZ</a>
      <a class="dropdown-item" href="#">CA</a>
    </div>

</li>
</ul>

<!-- people directory / CONTENT -->
<div id="people-content">

<div class="loading"></div><!-- loading circle for when fetching content -->

<h2>Featured People</h2> <!-- changes to state names -->

@foreach($people as $key => $data)
<div class="card">
<div class="l-name">{{$data->name}}</div>
<div class="l-add">{{$data->address}}</div>
<div class="l-add2">{{$data->city}}, {{$data->state}} {{$data->zip}}</div>
<!-- IF featured --><div>FEATURED</div>
</div>
@endforeach
    
</div>
<!-- /people directory -->

</div><!-- /col -->

非常感谢任何和所有帮助!

【问题讨论】:

    标签: javascript php mysql laravel


    【解决方案1】:

    设置另一条路径以按单个状态进行搜索,如下所示:

    // assuming your states and abbreviations table is named states
    // and you have a foreign key properly setup on people_directory to states
    Route::get('/directory/people/{state}', function ($state) {
        $people = DB::table('people_directory')->join('states', 'states.id', '=', 'people_directory.state_id')
                                               ->where('states.name', '=', $state)
                                               ->orderBy('people_directory.featured', 'desc')
                                               ->get();
        return view('pages.directory.people', ['people' => $people]);
    });
    

    这将为您提供按州按降序排列的人员列表。

    【讨论】:

    • 这应该如何在视图中查看,以便状态名称在标题中并且正确的选项卡处于活动状态?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多