Acceso rápido:
Moodle get_records ejemplo
Dada una consulta que cuenta filas, devuelve esa cuenta. (De hecho, dada cualquier consulta, devuelve el primer campo del primer registro devuelto. Sin embargo, este método sólo debe utilizarse para el propósito previsto). Si se produce un error, se devuelve 0.
El parámetro $alias debe establecerse con el nombre de la columna única en el resultado de la subconsulta (por ejemplo, si la subconsulta es ‘SELECT id FROM lo que sea’, entonces debe ser ‘id’). Esto no es necesario en la mayoría de las bases de datos, pero MySQL lo requiere.
int$strictnessIGNORE_MISSING significa modo compatible, false devuelve si no se encuentra ningún registro, mensaje de depuración si se encuentran más; IGNORE_MULTIPLE significa devolver primero, ignorar múltiples registros encontrados(no recomendado); MUST_EXIST significa lanzar excepción si no se encuentra ningún registro o múltiples registros
int$strictnessIGNORE_MISSING significa modo compatible, se devuelve false si no se encuentra el registro, mensaje de depuración si se encuentran más; IGNORE_MULTIPLE significa devolver primero, ignorar los registros múltiples encontrados(no recomendado); MUST_EXIST significa lanzar una excepción si no se encuentra ningún registro o múltiples registros
Api de formularios de Moodle
Cada uno de los siguientes métodos devuelve un array de objetos. El array está indexado por la primera columna de los campos devueltos por la consulta. Por lo tanto, para asegurar datos consistentes, parece ser la mejor práctica asegurarse de que su consulta incluya una «columna id» como primer campo. (Por esta razón, cuando desarrolle tablas personalizadas, asegúrese de que la primera columna sea «id»).
Cuando el número de registros a recuperar de la BD es elevado, las funciones get_records_xxx() anteriores distan mucho de ser óptimas, ya que cargan todos los registros en memoria al mismo tiempo. Bajo esas circunstancias, es altamente recomendable usar estas funciones get_recordset_xxx() en su lugar, las cuales usan un buen mecanismo para iterar sobre todos los registros objetivo y ahorrar mucha memoria.
A diferencia de las funciones get_record, no puede usar $rs == true o !empty($rs) para determinar si se encontró algún registro. Los conjuntos de registros implementan la interfaz estándar PHP Iterator (http://uk.php.net/manual/en/class.iterator.php)
Por favor, tenga en cuenta que algunas bases de datos no soportan transacciones (como el motor de base de datos MySQL MyISAM), sin embargo, se recomienda encarecidamente a todos los administradores de servidores que migren a bases de datos que soporten transacciones (como el motor de base de datos MySQL InnoDB).
Api de inscripción de Moodle
Para obtener una lista completa de las API internas de Moodle, visite https://docs.moodle.org/dev/Core_APIs. El primer conjunto de APIs está listado como APIs Generales. Son las interfaces sobre las que se construyen la mayoría de los plugins, por ejemplo, la API de Manipulación de Datos para leer y escribir en la base de datos de Moodle o la API de Formularios que muestra formularios web y maneja sus datos. En la siguiente sección, crearemos un plugin simple que sobreescribe (en el sentido orientado a objetos) y llama a la String API para cambiar la forma en que se muestran las cadenas de idioma en la interfaz de usuario de Moodle.
Base de datos Moodle
Esta página describe las funciones disponibles para acceder a los datos de la base de datos de Moodle. Debería usar exclusivamente estas funciones para recuperar o modificar el contenido de la base de datos porque estas funciones proporcionan un alto nivel de abstracción y garantizan que su manipulación de la base de datos funcionará contra diferentes RDBMS.
Siempre que sea posible, se documentarán aquí trucos y ejemplos para facilitar un poco la vida a los desarrolladores. Por supuesto, siéntase libre de aclarar, completar y añadir más información a esta documentación. Será bienvenida, ¡por supuesto!
Cada uno de los siguientes métodos devuelve un array de objetos. El array está indexado por la primera columna de los campos devueltos por la consulta. Para asegurar la consistencia, es una buena práctica asegurarse de que su consulta incluye una «columna id» como primer campo. Cuando diseñe tablas personalizadas, haga que id sea su primera columna y clave primaria.
Tenga en cuenta que algunas bases de datos no soportan transacciones (como el motor de base de datos MySQL MyISAM), sin embargo se recomienda encarecidamente a todos los administradores de servidores que migren a bases de datos que soporten transacciones (como el motor de base de datos MySQL InnoDB).