Source of file SaltedSearch.php
Size: 1,314 Bytes - Last Modified: 2021-12-23T10:19:36+00:00
/var/www/docs.ssmods.com/process/src/code/SaltedSearch.php
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 | <?php namespace SaltedHerring; class SaltedSearch { public static function RawSearch($tables, $fields, $terms) { $mode = ' IN BOOLEAN MODE'; if (is_array($fields)) { $fields = implode(',', $fields); } $sqlQuery = new \SQLSelect(); $sqlQuery->setFrom($tables); $sqlQuery->addSelect($fields); $sqlQuery->addWhere("MATCH( $fields ) AGAINST ('$terms'$mode)"); $result = $sqlQuery->execute(); $result_data = []; foreach ($result as $item) { $data = []; foreach ($item as $key => $value) { $data[$key] = $value; } $result_data[] = new \ArrayData($data); } return new \ArrayList($result_data); } public static function Search($ClassName, $fields, $terms) { $mode = ' IN BOOLEAN MODE'; if (is_array($fields)) { $query = ''; foreach($fields as $field) { $query .= "`$ClassName`.`$field`"; $query .= ","; } $fields = rtrim($query, ","); } return $ClassName::get()->where("MATCH( $fields ) AGAINST ('$terms'$mode)"); } } |