Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel 5.1表格排序_Php_Sorting_Laravel_Eloquent - Fatal编程技术网

Php Laravel 5.1表格排序

Php Laravel 5.1表格排序,php,sorting,laravel,eloquent,Php,Sorting,Laravel,Eloquent,我有一个简单的控制器函数来输出用户表,但我希望它按“approved”列排序,该列为1或0。我的控制器如下所示: public function showAllUsers() { $users = \User::all(); return \View::make('admin.users.all', array('users' => $users)); } 如何按此列对表进行排序?我尝试过像SortBy('approved'、'desc')这样的函数,但没有效果 视图:

我有一个简单的控制器函数来输出用户表,但我希望它按“approved”列排序,该列为1或0。我的控制器如下所示:

public function showAllUsers()
{
    $users = \User::all();
    return \View::make('admin.users.all', array('users' => $users));
}
如何按此列对表进行排序?我尝试过像
SortBy('approved'、'desc')
这样的函数,但没有效果

视图:

@extends('layouts.admin')

@section('scripts')
    <script type="text/javascript" src="../js/jquery.dataTables.min.js"></script>
    <script type="text/javascript" src="../js/datatables.js"></script>
@stop

@section('stylesheets')
    <link rel="stylesheet" type="text/css" href="{{url('css/datatables.css')}}" />
@stop

    @section('content')
            <div class="row">
              <div class="col-lg-12">
                <h1>Members</h1>
                    @if(Session::has('success'))
                        <div class="alert alert-success">
                            <p>{{ 

Session::get('success') }}</p>
                    </div>
                @endif

          </div>
          <div class="col-lg-12">
            <a type="button" class="btn btn-success" href="{{url('admin/members/add')}}">Add Member</a>
            <br/>
            <br/>
            </div>
        </div><!-- /.row -->

    <div class="row">
        <div class="col-lg-12">
            <div class="table-responsive">
              <table id="dattab" class="table table-hover table-striped tablesorter">
                <thead>
                  <tr>
                    <th class="header headerSortUp">Membership ID <i class="fa fa-sort"></i></th>
                    <th class="header">Fullname <i class="fa fa-sort"></i></th>
                    <th class="header">Membership Type <i class="fa fa-sort"></i></th>
                    <th class="header">Status<i class="fa fa-sort"></i></th>
                    <th class="header">Join Date<i class="fa fa-sort"></i></th>
                    <th class="header">Actions</th>
                  </tr>
                </thead>
                <tbody>
                @foreach ($users as $user)
                <tr>
                    <td>{{$user->membership_id}}</td>
                    <td>{{$user->firstname." ".$user->lastname}}</td>
                    <td>{{$user->getMembershipType()}}</td>
                    <td>
                        @if($user->approved) Approved
                        @elseif (!$user->approved)
                            <a href="{{url('admin/members/approve/'.$user->id)}}" class="btn btn-success">Approve</a>
                        @endif
                    </td>
                    <td>
                        {{ (new DateTime($user->created_at))->format('d/m/Y') }}
                    </td>
                    <td>
                        <div class="btn-group">
                          <button class="btn btn-primary btn-sm dropdown-toggle" type="button" data-toggle="dropdown">
                            Choose Action <span class="caret"></span>
                          </button>
                          <ul class="dropdown-menu" role="menu">
                            <li><a href="{{url('admin/members/edit/'.$user->id)}}">Edit</a></li>
                            <li class="divider"></li>
                            <li><a href="{{url('admin/members/delete/'.$user->id)}}" onclick="return confirm('Are you sure');">Delete</a></li>
                          </ul>
                        </div>                  
                    </td>
                </tr>
                @endforeach
                </tbody>
              </table>
            </div>
          </div>

        </div><!-- /.row -->


@stop
@extends('layouts.admin'))
@节(“脚本”)
@停止
@节(“样式表”)
@停止
@节(“内容”)
成员
@if(会话::has('success'))
{{
会话::获取('success')}

@恩迪夫

会员身份证 全名 成员类型 地位 加入日期 行动 @foreach($users作为$user) {{$user->membership\u id} {{$user->firstname.”“$user->lastname} {{$user->getMembershipType()} @如果($user->approved)已批准 @elseif(!$user->已批准) @恩迪夫 {(新日期时间($user->created_at))->格式('d/m/Y')} 选择行动
@endforeach @停止
您将查找orderBy方法:

在这种情况下:

$users = \User::orderBy('approved','desc')->get();

您可以使用查询生成器让数据库在检索结果之前对结果进行排序。有关更多信息,请参阅文档

或者,您也可以在使用laravel集合从数据库检索它们之后对它们进行排序


这似乎根本不会影响桌子。是否有一种方法可以在表显示在视图上之前检查表的内容?在返回视图之前,请使用
dd($users)
。您希望结果按什么顺序排列?如何在视图中显示结果
'desc'
将对1->0的结果进行排序,
'asc
将对0->1的结果进行排序。我希望它首先显示0的结果。该表返回正确的顺序,但不按该顺序显示该表。它总是以ID的升序显示,所以可能已经在某些地方编码了,您如何在视图中显示结果?你能编辑你的问题并包含你视图的代码吗?听起来你在做一些调整顺序的事情。哈,奇怪。datatable是否应用于该表?如果是这样,试着移除,看看这是否解决了你的问题。
public function showAllUsers()
{
    $users = \User::orderBy('approved', 'desc')->get();

    return view('admin.users.all', compact('users'));
}
public function showAllUsers()
{
    $users = \User::all()->sortBy('approved', 'desc');

    return view('admin.users.all', compact('users'));
}