11 $this->elements=array ();
12 if (isset($objects)) {
13 if (\is_array($objects)) {
23 $this->elements[]=$object;
26 if (\is_array($object) ===
false) {
27 $object=[
"title" => $object ];
29 $this->elements[]=
new SearchResult($object);
34 if (!\is_array($objects)) {
38 foreach ( $objects as $object ) {
42 $this->elements=\array_merge($this->elements, $objects);
46 public function _search($query, $field=
"title") {
48 foreach ( $this->elements as $element ) {
50 if ($element->search($query, $field) !==
false)
51 $result[]=$element->asArray();
53 if (\array_key_exists($field, $element)) {
54 $value=$element[$field];
55 if (\stripos($value, $query) !==
false) {
61 if (\
sizeof($result) > 0) {
67 public function search($query, $field=
"title") {
68 $result=$this->
_search($query, $field);
69 if ($result ===
false)
75 $result=
"\"results\": " . \json_encode($this->elements);
80 return \sizeof($this->elements);
84 return "{" . $this .
"}";
93 parent::fromDatabaseObjects($objects, $function);
fromDatabaseObjects($objects, $function)
Loads results from a collection of DB objects.
__construct($objects=NULL)
fromDatabaseObject($object, $function)
_search($query, $field="title")
search($query, $field="title")