Example #1
0
 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);
 }