function test_order_query() { $events = Test\Event::take(5); $events[0]->set_meta(["hoge" => "hoge-1", "scheduled_on" => "2016-01-01"]); $events[1]->set_meta(["hoge" => "hoge-2", "scheduled_on" => "2016-01-03"]); $events[2]->set_meta(["hoge" => "hoge-3", "scheduled_on" => "2016-01-05"]); $events[3]->set_meta(["hoge" => "hoge-4", "scheduled_on" => "2016-01-02"]); $events[4]->set_meta(["hoge" => "hoge-5", "scheduled_on" => "2016-01-04"]); $events = Test\Event::all(["orderby" => ["meta_value" => "desc"], "meta_key" => "scheduled_on"]); $this->assertEquals("hoge-3", $events[0]->hoge); $this->assertEquals("hoge-5", $events[1]->hoge); $this->assertEquals("hoge-2", $events[2]->hoge); $this->assertEquals("hoge-4", $events[3]->hoge); $this->assertEquals("hoge-1", $events[4]->hoge); $events = Test\Event::all("orderby=meta_value&order=asc&meta_key=scheduled_on"); $this->assertEquals("hoge-1", $events[0]->hoge); $this->assertEquals("hoge-4", $events[1]->hoge); $this->assertEquals("hoge-2", $events[2]->hoge); $this->assertEquals("hoge-5", $events[3]->hoge); $this->assertEquals("hoge-3", $events[4]->hoge); }