public function testValidFixture() { $validFixtures = array(array('sort_by' => 'id', 'order' => 'desc'), array('sort_by' => 'date', 'order' => 'desc'), array('sort_by' => 'date', 'order' => 'asc'), array('page' => 0), array('limit' => 1000), array('page' => 100, 'limit' => 100), array('search_phrase' => 100)); foreach ($validFixtures as $key => $row) { $request = new SearchRequest(); foreach ($row as $field => $value) { $request->{$field} = $value; } try { $request->validate(); } catch (\Exception $e) { $this->fail(); } } }
public static function select(SearchRequest $request) { selF::$lastSearchRequest = $request; $request->validate(); $sql = <<<SQL \tselect SQL_CALC_FOUND_ROWS a.*,l.name as event \tfrom %s as a \tinner join %s as l \ton a.log_id = l.id \twhere %s \torder by %s %s \tlimit %d,%d SQL; $sql = sprintf($sql, Record::tableName, Log::tableName, self::buildSQLSelectCondition(), $request->sort_by, $request->order, $request->page * $request->limit, $request->limit); $data = DB::query($sql); $result = array(); foreach ($data as $row) { $result[] = array('record' => new Record($row), 'eventInfo' => array('event' => $row['event'])); } return $result; }