Consultar campos do perfil do curso do Moodle com comando SQL

Consultar campos do perfil do curso do Moodle com comando SQL

por Lino Vaz Moniz -
Número de respostas: 0

A partir da versão mais recente, se não me engano a partir de  3.8, foi adicionado compos do perfil do curso. 

Segue alguns comandos SQL para consultar campos do perfil:

Lista os campos de pefil dos cursos 

SELECT d.id,d.instanceid AS courseid,f.name AS fieldname,f.shortname AS fieldkey,d.value,d.charvalue FROM mdl_customfield_data d INNER JOIN mdl_customfield_field f ON f.id=d.fieldid

Lista os campos de pefil dos cursos consultando por uma determinada chave e valor

SELECT d.id,d.instanceid AS courseid,f.name AS fieldname,f.shortname AS fieldkey,d.value,d.charvalue FROM mdl_customfield_data d INNER JOIN mdl_customfield_field f ON f.id=d.fieldid WHERE f.shortname=? AND d.charvalue LIKE '?%'

Passe o parâmetro (string) shortname do campo em f.shortname=?
Passe o parâmetro (string) valor do campo  em  d.charvalue LIKE '?%'

Consulta id do curso pela chave a valor do compo

SELECT d.instanceid AS courseid FROM mdl_customfield_data d INNER JOIN mdl_customfield_field f ON f.id=d.fieldid WHERE f.shortname=? AND d.charvalue =?

Passe o parâmetro (string) shortname do campo em f.shortname=?
Passe o parâmetro (string) valor do campo  em   d.charvalue =?

Consulta total de registro  id do curso e chave do campo

SELECT COUNT(d.instanceid) AS countrecord FROM mdl_customfield_data d INNER JOIN mdl_customfield_field f ON f.id=d.fieldid WHERE f.shortname=? AND d.charvalue =?

Passe o parâmetro (string) shortname do campo em f.shortname=?
Passe o parâmetro (string) valor do campo  em   d.charvalue =?

Consulta valor do campo pelo id do curso  e chave do campo

SELECT d.value FROM mdl_customfield_data d INNER JOIN mdl_customfield_field f ON f.id=d.fieldid WHERE f.shortname=? AND d.instanceid =?

Passe o parâmetro (string) shortname do campo em f.shortname=?
Passe o parâmetro (int) id do curso em  d.instanceid =?

Consulta id do curso pela chave a valor do compo