SQL Query Builder

Local plugins ::: local_sqlquerybuilder
Maintained by Konrad Ebel
It enables other plugins to build SQL queries using a builder class.

SQL Query Builder 1.0.0

Moodle 4.1, 4.2, 4.3, 4.4, 4.5, 5.0, 5.1
Released: %A 11/26/2025DHH26HHDD %B %Y, %H:%M

SQL Query Builder

Enables other plugins to build queries with a builder class.

This plugin is a library used for other plugins. It allows developers to create queries in a flexible, safe and easy way.

⚠️ SQL Injections.
Only the parameters in the value part get sanatized.

Work in Progress!

Usage

The idea is to use the db class to create a query, as demonstrated in this simple example:

$paul = db::table('user')->where('firstname', '=', 'Paul')
                         ->get();

Advantages

  • compatible
    • simplifies writing of cross-database queries
  • readable
    • get rid of SQL in PHP
  • productive
    • build queries faster
  • flexible
    • adapt similar queries for different use-cases

TODOS

  • Allow subqueries in where statement
  • Allow equal functions (case sensitive, text functions ...)
  • Add union function
  • Provide more raw methods to make the plugin more flexible
  • JSON Functions
  • Update functionality
  • Delete functionality
  • Create functionality

Installing via uploaded ZIP file

  1. Log in to your Moodle site as an admin and go to Site administration > Plugins > Install plugins.
  2. Upload the ZIP file with the plugin code. You should only be prompted to add extra details if your plugin type is not automatically detected.
  3. Check the plugin validation report and finish the installation.

Installing manually

The plugin can be also installed by putting the contents of this directory to

{your/moodle/dirroot}/local/sqlquerybuilder

Afterwards, log in to your Moodle site as an admin and go to Site administration > Notifications to complete the installation.

Alternatively, you can run

$ php admin/cli/upgrade.php

to complete the installation from the command line.

License

This plugin was developed at the Moodle Moot Dach 2025. It is the result of a collaboration between: - 2025 Dennis Phahl - 2025 Matthias Opitz - 2025 Daniel Meißner - 2025 Mahmoud Chehada - 2025 Konrad Ebel konrad.ebel@oncampus.de

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/.

Version information

Version build number
2025100500
Version release name
1.0.0
Maturity
Version stable
MD5 Sum
6c13cf8db7215a140554a760266f51ba
Supported software
Moodle 4.1, Moodle 4.2, Moodle 4.3, Moodle 4.4, Moodle 4.5, Moodle 5.0, Moodle 5.1
  • Latest release for Moodle 4.1
  • Latest release for Moodle 4.2
  • Latest release for Moodle 4.3
  • Latest release for Moodle 4.4
  • Latest release for Moodle 4.5
  • Latest release for Moodle 5.0
  • Latest release for Moodle 5.1

Version control information

Version control system (VCS)
GIT
VCS repository URL
VCS branch
MOODLE_405_STABLE
VCS tag
278fe2521afecfb166d279bd19c549a821681c91

Default installation instructions for plugins of the type Local plugins

  1. Make sure you have all the required versions.
  2. Download and unpack the module.
  3. Place the folder in the "local" subdirectory.
  4. Visit http://yoursite.com/admin to finish the installation.