通过2个条件对查询进行排序

时间:2017-09-16 19:17:09

标签: laravel laravel-5 eloquent laravel-5.2

我需要根据2个字段对记录的时间轴进行排序。在这个结果集中,我有以下列:

的时间表:

            require_once 'connect.php';
            if (isset($_POST['reg'])){ 
                        $dob = $_POST['date'];
                        $Student_ID = $_POST['Student_ID'];
                        $gender = $_POST['gender'];
                        $course = $_POST['Course'];
                        $email = $_POST['inputEmail'];
                        $password = $_POST['inputPassword'];
                        $FN = $_POST['FirstName'];
                        $SN = $_POST['SecondName']; 

                    $sql = "INSERT INTO tblaccounts (Email, Password, Student_ID, FirstName, SecondName, Course, Gender, DoB) VALUES ('".$email."','".$password."','".$Student_ID."','".$FN."','".$SN."','".$course."','".$gender."','".$dob."')"; 
                    $result = mysqli_query($connection, $sql) or die("Database Connection Failed" . mysqli_error($connection));
                    //$count = mysqli_num_rows($result);
                    echo "Registeration Successful!:";  

                    header('Location: login.php');
            } else { 
                        echo "Registeration Failed!:";# 
                        ?><br/><a href ="login.php">Go back to the login screen.</a><?php
                    }
            ?>

在我的时间轴中,可以在同一分钟内有多个文本行。所以考虑到这一点,首先我要按分钟排序,然后按created_at排序(如果我在同一分钟内有多个文本行)。

我的查询不起作用:例如我在DESC中显示94之后的74分钟,这是因为在分钟和created_at之间进行排序。我需要确保我的排序首先是几分钟,然后是created_at。

我的代码:

- minutes (int);
- text;
- created_at (date_time);

1 个答案:

答案 0 :(得分:2)

我认为你需要尝试这个

$timelineFeed = SoccerMatchTimeline::where('soccer_match_id',$id)
        ->orderBy('minute', 'DESC')
        ->orderBy('created_at', 'desc')->get();

由于您已经提到过,您需要先从分钟开始,然后从created_at

进行排序