public static function findByText($text) { self::fetchRemoteSearch($text); $statement = DBManager::get()->prepare("\n SELECT lernmarktplatz_material.*\n FROM lernmarktplatz_material\n LEFT JOIN lernmarktplatz_tags_material USING (material_id)\n LEFT JOIN lernmarktplatz_tags USING (tag_hash)\n WHERE lernmarktplatz_material.name LIKE :text\n OR description LIKE :text\n OR short_description LIKE :text\n OR lernmarktplatz_tags.name LIKE :text\n GROUP BY lernmarktplatz_material.material_id\n ORDER BY lernmarktplatz_material.mkdate DESC\n "); $statement->execute(array('text' => "%" . $text . "%")); $material_data = $statement->fetchAll(PDO::FETCH_ASSOC); $materials = array(); foreach ($material_data as $data) { $materials[] = LernmarktplatzMaterial::buildExisting($data); } return $materials; }