mirror of
https://github.com/codeigniter4/CodeIgniter4.git
synced 2025-02-20 11:44:28 +08:00
3424 lines
299 KiB
HTML
3424 lines
299 KiB
HTML
<!DOCTYPE html>
|
||
<html class="writer-html5" lang="en" >
|
||
<head>
|
||
<meta charset="utf-8" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
|
||
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||
<title>Query Builder Class — CodeIgniter 4.2.10 documentation</title>
|
||
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
|
||
<link rel="stylesheet" href="../_static/css/citheme.css" type="text/css" />
|
||
<link rel="shortcut icon" href="../_static/favicon.ico"/>
|
||
<!--[if lt IE 9]>
|
||
<script src="../_static/js/html5shiv.min.js"></script>
|
||
<![endif]-->
|
||
|
||
<script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
|
||
<script src="../_static/jquery.js"></script>
|
||
<script src="../_static/underscore.js"></script>
|
||
<script src="../_static/doctools.js"></script>
|
||
<script src="../_static/js/citheme.js"></script>
|
||
<script src="../_static/js/carbon.js"></script>
|
||
<script src="../_static/js/theme.js"></script>
|
||
<link rel="index" title="Index" href="../genindex.html" />
|
||
<link rel="search" title="Search" href="../search.html" />
|
||
<link rel="next" title="Transactions" href="transactions.html" />
|
||
<link rel="prev" title="Query Helper Methods" href="helpers.html" />
|
||
</head>
|
||
|
||
<body class="wy-body-for-nav">
|
||
<div class="wy-grid-for-nav">
|
||
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
||
<div class="wy-side-scroll">
|
||
<div class="wy-side-nav-search" style="background: #DD4814" >
|
||
<a href="../index.html">
|
||
<img src="../_static/ci-logo-text.png" class="logo" alt="Logo"/>
|
||
</a>
|
||
<div role="search">
|
||
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
|
||
<input type="text" name="q" placeholder="Search docs" />
|
||
<input type="hidden" name="check_keywords" value="yes" />
|
||
<input type="hidden" name="area" value="default" />
|
||
</form>
|
||
</div>
|
||
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
|
||
<ul>
|
||
<li class="toctree-l1"><a class="reference internal" href="../intro/index.html">Welcome to CodeIgniter4</a><ul>
|
||
<li class="toctree-l2"><a class="reference internal" href="../intro/index.html">Welcome to CodeIgniter4</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../intro/requirements.html">Server Requirements</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../intro/credits.html">Credits</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../intro/psr.html">PSR Compliance</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../license.html">License Agreement</a></li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
<ul>
|
||
<li class="toctree-l1"><a class="reference internal" href="../installation/index.html">Installation</a><ul>
|
||
<li class="toctree-l2"><a class="reference internal" href="../installation/installing_composer.html">Composer Installation</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../installation/installing_manual.html">Manual Installation</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../installation/running.html">Running Your App</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../installation/troubleshooting.html">Troubleshooting</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../changelogs/index.html">Change Logs</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../installation/upgrading.html">Upgrading From a Previous Version</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../installation/repositories.html">CodeIgniter Repositories</a></li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
<ul>
|
||
<li class="toctree-l1"><a class="reference internal" href="../tutorial/index.html">Build Your First Application</a><ul>
|
||
<li class="toctree-l2"><a class="reference internal" href="../tutorial/static_pages.html">Static Pages</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../tutorial/news_section.html">News Section</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../tutorial/create_news_items.html">Create News Items</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../tutorial/conclusion.html">Conclusion</a></li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
<ul>
|
||
<li class="toctree-l1"><a class="reference internal" href="../concepts/index.html">CodeIgniter4 Overview</a><ul>
|
||
<li class="toctree-l2"><a class="reference internal" href="../concepts/structure.html">Application Structure</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../concepts/mvc.html">Models, Views, and Controllers</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../concepts/autoloader.html">Autoloading Files</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../concepts/services.html">Services</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../concepts/factories.html">Factories</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../concepts/http.html">Working With HTTP Requests</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../concepts/security.html">Security Guidelines</a></li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
<ul>
|
||
<li class="toctree-l1"><a class="reference internal" href="../general/index.html">General Topics</a><ul>
|
||
<li class="toctree-l2"><a class="reference internal" href="../general/configuration.html">Configuration</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../general/urls.html">CodeIgniter URLs</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../general/helpers.html">Helper Functions</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../general/common_functions.html">Global Functions and Constants</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../general/logging.html">Logging Information</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../general/errors.html">Error Handling</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../general/caching.html">Web Page Caching</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../general/ajax.html">AJAX Requests</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../general/modules.html">Code Modules</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../general/managing_apps.html">Managing your Applications</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../general/environments.html">Handling Multiple Environments</a></li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
<ul>
|
||
<li class="toctree-l1"><a class="reference internal" href="../incoming/index.html">Controllers and Routing</a><ul>
|
||
<li class="toctree-l2"><a class="reference internal" href="../incoming/routing.html">URI Routing</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../incoming/controllers.html">Controllers</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../incoming/filters.html">Controller Filters</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../incoming/message.html">HTTP Messages</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../incoming/request.html">Request Class</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../incoming/incomingrequest.html">IncomingRequest Class</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../incoming/content_negotiation.html">Content Negotiation</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../incoming/methodspoofing.html">HTTP Method Spoofing</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../incoming/restful.html">RESTful Resource Handling</a></li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
<ul>
|
||
<li class="toctree-l1"><a class="reference internal" href="../outgoing/index.html">Building Responses</a><ul>
|
||
<li class="toctree-l2"><a class="reference internal" href="../outgoing/views.html">Views</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../outgoing/view_cells.html">View Cells</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../outgoing/view_renderer.html">View Renderer</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../outgoing/view_layouts.html">View Layouts</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../outgoing/view_parser.html">View Parser</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../outgoing/view_decorators.html">View Decorators</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../outgoing/table.html">HTML Table Class</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../outgoing/response.html">HTTP Responses</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../outgoing/api_responses.html">API Response Trait</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../outgoing/localization.html">Localization</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../outgoing/alternative_php.html">Alternate PHP Syntax for View Files</a></li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
<ul class="current">
|
||
<li class="toctree-l1 current"><a class="reference internal" href="index.html">Working With Databases</a><ul class="current">
|
||
<li class="toctree-l2"><a class="reference internal" href="examples.html">Quick Start: Usage Examples</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="configuration.html">Database Configuration</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="connecting.html">Connecting to a Database</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="queries.html">Running Queries</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="results.html">Generating Query Results</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="helpers.html">Query Helper Functions</a></li>
|
||
<li class="toctree-l2 current"><a class="current reference internal" href="#">Query Builder Class</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="transactions.html">Transactions</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="metadata.html">Getting MetaData</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="call_function.html">Custom Function Calls</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="events.html">Database Events</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="utilities.html">Database Utilities</a></li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
<ul>
|
||
<li class="toctree-l1"><a class="reference internal" href="../models/index.html">Modeling Data</a><ul>
|
||
<li class="toctree-l2"><a class="reference internal" href="../models/model.html">Using CodeIgniter's Model</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../models/entities.html">Using Entity Classes</a></li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
<ul>
|
||
<li class="toctree-l1"><a class="reference internal" href="../dbmgmt/index.html">Managing Databases</a><ul>
|
||
<li class="toctree-l2"><a class="reference internal" href="../dbmgmt/forge.html">Database Manipulation with Database Forge</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../dbmgmt/migration.html">Database Migrations</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../dbmgmt/seeds.html">Database Seeding</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../dbmgmt/db_commands.html">Database Commands</a></li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
<ul>
|
||
<li class="toctree-l1"><a class="reference internal" href="../libraries/index.html">Library Reference</a><ul>
|
||
<li class="toctree-l2"><a class="reference internal" href="../libraries/caching.html">Caching Driver</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../libraries/cookies.html">Cookies</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../libraries/curlrequest.html">CURLRequest Class</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../libraries/email.html">Email Class</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../libraries/encryption.html">Encryption Service</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../libraries/files.html">Working with Files</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../libraries/files.html#file-collections">File Collections</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../libraries/honeypot.html">Honeypot Class</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../libraries/images.html">Image Manipulation Class</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../libraries/pagination.html">Pagination</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../libraries/publisher.html">Publisher</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../libraries/security.html">Security</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../libraries/sessions.html">Session Library</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../libraries/throttler.html">Throttler</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../libraries/time.html">Times and Dates</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../libraries/typography.html">Typography</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../libraries/uploaded_files.html">Working with Uploaded Files</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../libraries/uri.html">Working with URIs</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../libraries/user_agent.html">User Agent Class</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../libraries/validation.html">Validation</a></li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
<ul>
|
||
<li class="toctree-l1"><a class="reference internal" href="../helpers/index.html">Helpers</a><ul>
|
||
<li class="toctree-l2"><a class="reference internal" href="../helpers/array_helper.html">Array Helper</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../helpers/cookie_helper.html">Cookie Helper</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../helpers/date_helper.html">Date Helper</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../helpers/filesystem_helper.html">Filesystem Helper</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../helpers/form_helper.html">Form Helper</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../helpers/html_helper.html">HTML Helper</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../helpers/inflector_helper.html">Inflector Helper</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../helpers/number_helper.html">Number Helper</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../helpers/security_helper.html">Security Helper</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../helpers/test_helper.html">Test Helper</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../helpers/text_helper.html">Text Helper</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../helpers/url_helper.html">URL Helper</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../helpers/xml_helper.html">XML Helper</a></li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
<ul>
|
||
<li class="toctree-l1"><a class="reference internal" href="../testing/index.html">Testing</a><ul>
|
||
<li class="toctree-l2"><a class="reference internal" href="../testing/overview.html">Getting Started</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../testing/database.html">Database</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../testing/fabricator.html">Generating Data</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../testing/controllers.html">Controller Testing</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../testing/feature.html">HTTP Testing</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../testing/response.html">Testing Responses</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../testing/benchmark.html">Benchmarking</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../testing/debugging.html">Debugging Your Application</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../testing/mocking.html">Mocking</a></li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
<ul>
|
||
<li class="toctree-l1"><a class="reference internal" href="../cli/index.html">Command Line Usage</a><ul>
|
||
<li class="toctree-l2"><a class="reference internal" href="../cli/cli_overview.html">CLI Overview</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../cli/cli_controllers.html">Running Controllers via CLI</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../cli/spark_commands.html">Spark Commands</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../cli/cli_commands.html">Creating Spark Commands</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../cli/cli_generators.html">CLI Generators</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../cli/cli_library.html">CLI Library</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../cli/cli_request.html">CLIRequest Class</a></li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
<ul>
|
||
<li class="toctree-l1"><a class="reference internal" href="../extending/index.html">Extending CodeIgniter</a><ul>
|
||
<li class="toctree-l2"><a class="reference internal" href="../extending/core_classes.html">Creating Core System Classes</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../extending/common.html">Replacing Common Functions</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../extending/events.html">Events</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../extending/basecontroller.html">Extending the Controller</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../extending/authentication.html">Authentication</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../extending/contributing.html">Contributing to CodeIgniter</a></li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
<ul>
|
||
<li class="toctree-l1"><a class="reference internal" href="../libraries/official_packages.html">Official Packages</a></li>
|
||
</ul>
|
||
|
||
</div>
|
||
</div>
|
||
</nav>
|
||
|
||
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" style="background: #DD4814" >
|
||
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
||
<a href="../index.html">CodeIgniter</a>
|
||
</nav>
|
||
|
||
<div class="wy-nav-content">
|
||
<div class="rst-content">
|
||
<a class="btn btn-neutral float-right" href="https://github.com/codeigniter4/CodeIgniter4/edit/develop/user_guide_src/source/database/query_builder.rst">Edit this page</a>
|
||
|
||
<div role="navigation" aria-label="Page navigation">
|
||
<ul class="wy-breadcrumbs">
|
||
<li><a href="../index.html" class="icon icon-home"></a></li>
|
||
<li class="breadcrumb-item"><a href="index.html">Working With Databases</a></li>
|
||
<li class="breadcrumb-item active">Query Builder Class</li>
|
||
<li class="wy-breadcrumbs-aside">
|
||
</li>
|
||
</ul>
|
||
<hr/>
|
||
</div>
|
||
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||
<div itemprop="articleBody">
|
||
|
||
<section id="query-builder-class">
|
||
<h1>Query Builder Class<a class="headerlink" href="#query-builder-class" title="Permalink to this headline"></a></h1>
|
||
<p>CodeIgniter gives you access to a Query Builder class. This pattern
|
||
allows information to be retrieved, inserted, and updated in your
|
||
database with minimal scripting. In some cases, only one or two lines
|
||
of code are necessary to perform a database action.
|
||
CodeIgniter does not require that each database table be its own class
|
||
file. It instead provides a more simplified interface.</p>
|
||
<p>Beyond simplicity, a major benefit to using the Query Builder features
|
||
is that it allows you to create database independent applications, since
|
||
the query syntax is generated by each database adapter. It also allows
|
||
for safer queries, since the values are escaped automatically by the
|
||
system.</p>
|
||
<div class="admonition note">
|
||
<p class="admonition-title">Note</p>
|
||
<p>CodeIgniter doesn’t support dots (<code class="docutils literal notranslate"><span class="pre">.</span></code>) in the database, table, and column names.</p>
|
||
</div>
|
||
<div class="contents local topic" id="contents">
|
||
<ul class="simple">
|
||
<li><p><a class="reference internal" href="#sql-injection-protection" id="id9">SQL Injection Protection</a></p></li>
|
||
<li><p><a class="reference internal" href="#loading-the-query-builder" id="id10">Loading the Query Builder</a></p></li>
|
||
<li><p><a class="reference internal" href="#selecting-data" id="id11">Selecting Data</a></p>
|
||
<ul>
|
||
<li><p><a class="reference internal" href="#get" id="id12">Get</a></p></li>
|
||
<li><p><a class="reference internal" href="#select" id="id13">Select</a></p></li>
|
||
<li><p><a class="reference internal" href="#from" id="id14">From</a></p></li>
|
||
<li><p><a class="reference internal" href="#subqueries" id="id15">Subqueries</a></p></li>
|
||
<li><p><a class="reference internal" href="#join" id="id16">Join</a></p></li>
|
||
</ul>
|
||
</li>
|
||
<li><p><a class="reference internal" href="#looking-for-specific-data" id="id17">Looking for Specific Data</a></p>
|
||
<ul>
|
||
<li><p><a class="reference internal" href="#where" id="id18">Where</a></p></li>
|
||
</ul>
|
||
</li>
|
||
<li><p><a class="reference internal" href="#looking-for-similar-data" id="id19">Looking for Similar Data</a></p>
|
||
<ul>
|
||
<li><p><a class="reference internal" href="#like" id="id20">Like</a></p></li>
|
||
</ul>
|
||
</li>
|
||
<li><p><a class="reference internal" href="#ordering-results" id="id21">Ordering Results</a></p>
|
||
<ul>
|
||
<li><p><a class="reference internal" href="#orderby" id="id22">OrderBy</a></p></li>
|
||
</ul>
|
||
</li>
|
||
<li><p><a class="reference internal" href="#limiting-or-counting-results" id="id23">Limiting or Counting Results</a></p>
|
||
<ul>
|
||
<li><p><a class="reference internal" href="#limit" id="id24">Limit</a></p></li>
|
||
</ul>
|
||
</li>
|
||
<li><p><a class="reference internal" href="#union-queries" id="id25">Union queries</a></p>
|
||
<ul>
|
||
<li><p><a class="reference internal" href="#union" id="id26">Union</a></p></li>
|
||
</ul>
|
||
</li>
|
||
<li><p><a class="reference internal" href="#query-grouping" id="id27">Query grouping</a></p>
|
||
<ul>
|
||
<li><p><a class="reference internal" href="#group" id="id28">Group</a></p></li>
|
||
</ul>
|
||
</li>
|
||
<li><p><a class="reference internal" href="#inserting-data" id="id29">Inserting Data</a></p>
|
||
<ul>
|
||
<li><p><a class="reference internal" href="#insert" id="id30">Insert</a></p></li>
|
||
<li><p><a class="reference internal" href="#insertbatch" id="id31">insertBatch</a></p></li>
|
||
</ul>
|
||
</li>
|
||
<li><p><a class="reference internal" href="#updating-data" id="id32">Updating Data</a></p>
|
||
<ul>
|
||
<li><p><a class="reference internal" href="#update" id="id33">Update</a></p></li>
|
||
<li><p><a class="reference internal" href="#updatebatch" id="id34">UpdateBatch</a></p></li>
|
||
</ul>
|
||
</li>
|
||
<li><p><a class="reference internal" href="#deleting-data" id="id35">Deleting Data</a></p>
|
||
<ul>
|
||
<li><p><a class="reference internal" href="#delete" id="id36">Delete</a></p></li>
|
||
</ul>
|
||
</li>
|
||
<li><p><a class="reference internal" href="#method-chaining" id="id37">Method Chaining</a></p></li>
|
||
<li><p><a class="reference internal" href="#resetting-query-builder" id="id38">Resetting Query Builder</a></p>
|
||
<ul>
|
||
<li><p><a class="reference internal" href="#resetquery" id="id39">ResetQuery</a></p></li>
|
||
</ul>
|
||
</li>
|
||
<li><p><a class="reference internal" href="#namespace-CodeIgniter\Database" id="id40">Class Reference</a></p></li>
|
||
</ul>
|
||
</div>
|
||
<section id="sql-injection-protection">
|
||
<h2><a class="toc-backref" href="#id9">SQL Injection Protection</a><a class="headerlink" href="#sql-injection-protection" title="Permalink to this headline"></a></h2>
|
||
<p>You can generate SQL statements quite safely with the Query Builder. However,
|
||
it is not designed to prevent SQL injection no matter what data you pass.</p>
|
||
<dl class="simple">
|
||
<dt>Arguments passed to the Query Builder can be:</dt><dd><ol class="arabic simple">
|
||
<li><p><strong>identifiers</strong> such as field (or table) names</p></li>
|
||
<li><p>their <strong>values</strong></p></li>
|
||
<li><p>a part of <strong>SQL strings</strong></p></li>
|
||
</ol>
|
||
</dd>
|
||
</dl>
|
||
<p>The Query Builder will escape all <strong>values</strong> by default.</p>
|
||
<p>It will also try to properly protect <strong>identifiers</strong> and identifiers in
|
||
<strong>SQL strings</strong> by default.
|
||
However, it is implemented to work well in many use cases and
|
||
is not designed to prevent all attacks.
|
||
Therefore, you should never feed in user input to them without proper validation.</p>
|
||
<p>Also, many methods have the <code class="docutils literal notranslate"><span class="pre">$escape</span></code> parameter that can be set to disable escaping.
|
||
If <code class="docutils literal notranslate"><span class="pre">$escape</span></code> is set to false, no protection is provided by the Query Builder,
|
||
so you must ensure by yourself that
|
||
they are properly escaped or protected before passing it to the Query Builder.
|
||
The same is true when using <code class="docutils literal notranslate"><span class="pre">RawSql</span></code>, which specifies a raw SQL statement.</p>
|
||
</section>
|
||
<section id="loading-the-query-builder">
|
||
<h2><a class="toc-backref" href="#id10">Loading the Query Builder</a><a class="headerlink" href="#loading-the-query-builder" title="Permalink to this headline"></a></h2>
|
||
<p>The Query Builder is loaded through the <code class="docutils literal notranslate"><span class="pre">table()</span></code> method on the
|
||
database connection. This sets the <strong>FROM</strong> portion of the query for you
|
||
and returns a new instance of the Query Builder class:</p>
|
||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="nv">$db</span> <span class="o">=</span> <span class="nx">\Config\Database</span><span class="o">::</span><span class="na">connect</span><span class="p">();</span>
|
||
<span class="nv">$builder</span> <span class="o">=</span> <span class="nv">$db</span><span class="o">-></span><span class="na">table</span><span class="p">(</span><span class="s1">'users'</span><span class="p">);</span>
|
||
</pre></div>
|
||
</div>
|
||
<p>The Query Builder is only loaded into memory when you specifically request
|
||
the class, so no resources are used by default.</p>
|
||
</section>
|
||
<section id="selecting-data">
|
||
<h2><a class="toc-backref" href="#id11">Selecting Data</a><a class="headerlink" href="#selecting-data" title="Permalink to this headline"></a></h2>
|
||
<p>The following methods allow you to build SQL <strong>SELECT</strong> statements.</p>
|
||
<section id="get">
|
||
<h3><a class="toc-backref" href="#id12">Get</a><a class="headerlink" href="#get" title="Permalink to this headline"></a></h3>
|
||
<section id="builder-get">
|
||
<h4>$builder->get()<a class="headerlink" href="#builder-get" title="Permalink to this headline"></a></h4>
|
||
<p>Runs the selection query and returns the result. Can be used by itself
|
||
to retrieve all records from a table:</p>
|
||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="nv">$builder</span> <span class="o">=</span> <span class="nv">$db</span><span class="o">-></span><span class="na">table</span><span class="p">(</span><span class="s1">'mytable'</span><span class="p">);</span>
|
||
<span class="nv">$query</span> <span class="o">=</span> <span class="nv">$builder</span><span class="o">-></span><span class="na">get</span><span class="p">();</span> <span class="c1">// Produces: SELECT * FROM mytable</span>
|
||
</pre></div>
|
||
</div>
|
||
<p>The first and second parameters enable you to set a limit and offset
|
||
clause:</p>
|
||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="nv">$query</span> <span class="o">=</span> <span class="nv">$builder</span><span class="o">-></span><span class="na">get</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span> <span class="mi">20</span><span class="p">);</span>
|
||
<span class="cm">/*</span>
|
||
<span class="cm"> * Executes: SELECT * FROM mytable LIMIT 20, 10</span>
|
||
<span class="cm"> * (in MySQL. Other databases have slightly different syntax)</span>
|
||
<span class="cm"> */</span>
|
||
</pre></div>
|
||
</div>
|
||
<p>You’ll notice that the above method is assigned to a variable named
|
||
$query, which can be used to show the results:</p>
|
||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="nv">$query</span> <span class="o">=</span> <span class="nv">$builder</span><span class="o">-></span><span class="na">get</span><span class="p">();</span>
|
||
|
||
<span class="k">foreach</span> <span class="p">(</span><span class="nv">$query</span><span class="o">-></span><span class="na">getResult</span><span class="p">()</span> <span class="k">as</span> <span class="nv">$row</span><span class="p">)</span> <span class="p">{</span>
|
||
<span class="k">echo</span> <span class="nv">$row</span><span class="o">-></span><span class="na">title</span><span class="p">;</span>
|
||
<span class="p">}</span>
|
||
</pre></div>
|
||
</div>
|
||
<p>Please visit the <a class="reference internal" href="results.html"><span class="doc">getResult*() method</span></a> page for a full
|
||
discussion regarding result generation.</p>
|
||
</section>
|
||
<section id="builder-getcompiledselect">
|
||
<h4>$builder->getCompiledSelect()<a class="headerlink" href="#builder-getcompiledselect" title="Permalink to this headline"></a></h4>
|
||
<p>Compiles the selection query just like <code class="docutils literal notranslate"><span class="pre">$builder->get()</span></code> but does not <em>run</em>
|
||
the query. This method simply returns the SQL query as a string.</p>
|
||
<p>Example:</p>
|
||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="nv">$sql</span> <span class="o">=</span> <span class="nv">$builder</span><span class="o">-></span><span class="na">getCompiledSelect</span><span class="p">();</span>
|
||
<span class="k">echo</span> <span class="nv">$sql</span><span class="p">;</span>
|
||
<span class="c1">// Prints string: SELECT * FROM mytable</span>
|
||
</pre></div>
|
||
</div>
|
||
<p>The first parameter enables you to set whether or not the query builder query
|
||
will be reset (by default it will be reset, just like when using <code class="docutils literal notranslate"><span class="pre">$builder->get()</span></code>):</p>
|
||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="k">echo</span> <span class="nv">$builder</span><span class="o">-></span><span class="na">limit</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span> <span class="mi">20</span><span class="p">)</span><span class="o">-></span><span class="na">getCompiledSelect</span><span class="p">(</span><span class="k">false</span><span class="p">);</span>
|
||
<span class="cm">/*</span>
|
||
<span class="cm"> * Prints string: SELECT * FROM mytable LIMIT 20, 10</span>
|
||
<span class="cm"> * (in MySQL. Other databases have slightly different syntax)</span>
|
||
<span class="cm"> */</span>
|
||
|
||
<span class="k">echo</span> <span class="nv">$builder</span><span class="o">-></span><span class="na">select</span><span class="p">(</span><span class="s1">'title, content, date'</span><span class="p">)</span><span class="o">-></span><span class="na">getCompiledSelect</span><span class="p">();</span>
|
||
<span class="c1">// Prints string: SELECT title, content, date FROM mytable LIMIT 20, 10</span>
|
||
</pre></div>
|
||
</div>
|
||
<p>The key thing to notice in the above example is that the second query did not
|
||
utilize <code class="docutils literal notranslate"><span class="pre">limit(10,</span> <span class="pre">20)</span></code> but the generated SQL query has <code class="docutils literal notranslate"><span class="pre">LIMIT</span> <span class="pre">20,</span> <span class="pre">10</span></code>.
|
||
The reason for this outcome is because the first parameter is set to <code class="docutils literal notranslate"><span class="pre">false</span></code>.</p>
|
||
</section>
|
||
<section id="builder-getwhere">
|
||
<h4>$builder->getWhere()<a class="headerlink" href="#builder-getwhere" title="Permalink to this headline"></a></h4>
|
||
<p>Identical to the <code class="docutils literal notranslate"><span class="pre">get()</span></code> method except that it permits you to add a
|
||
“where” clause in the first parameter, instead of using the <code class="docutils literal notranslate"><span class="pre">$builder->where()</span></code>
|
||
method:</p>
|
||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="nv">$query</span> <span class="o">=</span> <span class="nv">$builder</span><span class="o">-></span><span class="na">getWhere</span><span class="p">([</span><span class="s1">'id'</span> <span class="o">=></span> <span class="nv">$id</span><span class="p">],</span> <span class="nv">$limit</span><span class="p">,</span> <span class="nv">$offset</span><span class="p">);</span>
|
||
</pre></div>
|
||
</div>
|
||
<p>Please read about the <code class="docutils literal notranslate"><span class="pre">where()</span></code> method below for more information.</p>
|
||
</section>
|
||
</section>
|
||
<section id="select">
|
||
<span id="query-builder-select"></span><h3><a class="toc-backref" href="#id13">Select</a><a class="headerlink" href="#select" title="Permalink to this headline"></a></h3>
|
||
<section id="builder-select">
|
||
<h4>$builder->select()<a class="headerlink" href="#builder-select" title="Permalink to this headline"></a></h4>
|
||
<p>Permits you to write the <strong>SELECT</strong> portion of your query:</p>
|
||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">select</span><span class="p">(</span><span class="s1">'title, content, date'</span><span class="p">);</span>
|
||
<span class="nv">$query</span> <span class="o">=</span> <span class="nv">$builder</span><span class="o">-></span><span class="na">get</span><span class="p">();</span>
|
||
<span class="c1">// Executes: SELECT title, content, date FROM mytable</span>
|
||
</pre></div>
|
||
</div>
|
||
<div class="admonition note">
|
||
<p class="admonition-title">Note</p>
|
||
<p>If you are selecting all (<code class="docutils literal notranslate"><span class="pre">*</span></code>) from a table you do not need to
|
||
use this method. When omitted, CodeIgniter assumes that you wish
|
||
to select all fields and automatically adds <code class="docutils literal notranslate"><span class="pre">SELECT</span> <span class="pre">*</span></code>.</p>
|
||
</div>
|
||
<p><code class="docutils literal notranslate"><span class="pre">$builder->select()</span></code> accepts an optional second parameter. If you set it
|
||
to <code class="docutils literal notranslate"><span class="pre">false</span></code>, CodeIgniter will not try to protect your field or table names.
|
||
This is useful if you need a compound select statement where automatic
|
||
escaping of fields may break them.</p>
|
||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">select</span><span class="p">(</span><span class="s1">'(SELECT SUM(payments.amount) FROM payments WHERE payments.invoice_id=4) AS amount_paid'</span><span class="p">,</span> <span class="k">false</span><span class="p">);</span>
|
||
<span class="nv">$query</span> <span class="o">=</span> <span class="nv">$builder</span><span class="o">-></span><span class="na">get</span><span class="p">();</span>
|
||
</pre></div>
|
||
</div>
|
||
<section id="rawsql">
|
||
<span id="query-builder-select-rawsql"></span><h5>RawSql<a class="headerlink" href="#rawsql" title="Permalink to this headline"></a></h5>
|
||
<p>Since v4.2.0, <code class="docutils literal notranslate"><span class="pre">$builder->select()</span></code> accepts a <code class="docutils literal notranslate"><span class="pre">CodeIgniter\Database\RawSql</span></code> instance, which expresses raw SQL strings.</p>
|
||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="k">use</span> <span class="nx">CodeIgniter\Database\RawSql</span><span class="p">;</span>
|
||
|
||
<span class="nv">$sql</span> <span class="o">=</span> <span class="s1">'REGEXP_SUBSTR(ral_anno,"[0-9]{1,2}([,.][0-9]{1,3})([,.][0-9]{1,3})") AS ral'</span><span class="p">;</span>
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">select</span><span class="p">(</span><span class="k">new</span> <span class="nx">RawSql</span><span class="p">(</span><span class="nv">$sql</span><span class="p">));</span>
|
||
<span class="nv">$query</span> <span class="o">=</span> <span class="nv">$builder</span><span class="o">-></span><span class="na">get</span><span class="p">();</span>
|
||
</pre></div>
|
||
</div>
|
||
<div class="admonition warning">
|
||
<p class="admonition-title">Warning</p>
|
||
<p>When you use <code class="docutils literal notranslate"><span class="pre">RawSql</span></code>, you MUST escape the values and protect the identifiers manually. Failure to do so could result in SQL injections.</p>
|
||
</div>
|
||
</section>
|
||
</section>
|
||
<section id="builder-selectmax">
|
||
<h4>$builder->selectMax()<a class="headerlink" href="#builder-selectmax" title="Permalink to this headline"></a></h4>
|
||
<p>Writes a <strong>SELECT MAX(field)</strong> portion for your query. You can optionally
|
||
include a second parameter to rename the resulting field.</p>
|
||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">selectMax</span><span class="p">(</span><span class="s1">'age'</span><span class="p">);</span>
|
||
<span class="nv">$query</span> <span class="o">=</span> <span class="nv">$builder</span><span class="o">-></span><span class="na">get</span><span class="p">();</span>
|
||
<span class="c1">// Produces: SELECT MAX(age) as age FROM mytable</span>
|
||
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">selectMax</span><span class="p">(</span><span class="s1">'age'</span><span class="p">,</span> <span class="s1">'member_age'</span><span class="p">);</span>
|
||
<span class="nv">$query</span> <span class="o">=</span> <span class="nv">$builder</span><span class="o">-></span><span class="na">get</span><span class="p">();</span>
|
||
<span class="c1">// Produces: SELECT MAX(age) as member_age FROM mytable</span>
|
||
</pre></div>
|
||
</div>
|
||
</section>
|
||
<section id="builder-selectmin">
|
||
<h4>$builder->selectMin()<a class="headerlink" href="#builder-selectmin" title="Permalink to this headline"></a></h4>
|
||
<p>Writes a <strong>SELECT MIN(field)</strong> portion for your query. As with
|
||
<code class="docutils literal notranslate"><span class="pre">selectMax()</span></code>, You can optionally include a second parameter to rename
|
||
the resulting field.</p>
|
||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">selectMin</span><span class="p">(</span><span class="s1">'age'</span><span class="p">);</span>
|
||
<span class="nv">$query</span> <span class="o">=</span> <span class="nv">$builder</span><span class="o">-></span><span class="na">get</span><span class="p">();</span>
|
||
<span class="c1">// Produces: SELECT MIN(age) as age FROM mytable</span>
|
||
</pre></div>
|
||
</div>
|
||
</section>
|
||
<section id="builder-selectavg">
|
||
<h4>$builder->selectAvg()<a class="headerlink" href="#builder-selectavg" title="Permalink to this headline"></a></h4>
|
||
<p>Writes a <strong>SELECT AVG(field)</strong> portion for your query. As with
|
||
<code class="docutils literal notranslate"><span class="pre">selectMax()</span></code>, You can optionally include a second parameter to rename
|
||
the resulting field.</p>
|
||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">selectAvg</span><span class="p">(</span><span class="s1">'age'</span><span class="p">);</span>
|
||
<span class="nv">$query</span> <span class="o">=</span> <span class="nv">$builder</span><span class="o">-></span><span class="na">get</span><span class="p">();</span>
|
||
<span class="c1">// Produces: SELECT AVG(age) as age FROM mytable</span>
|
||
</pre></div>
|
||
</div>
|
||
</section>
|
||
<section id="builder-selectsum">
|
||
<h4>$builder->selectSum()<a class="headerlink" href="#builder-selectsum" title="Permalink to this headline"></a></h4>
|
||
<p>Writes a <strong>SELECT SUM(field)</strong> portion for your query. As with
|
||
<code class="docutils literal notranslate"><span class="pre">selectMax()</span></code>, You can optionally include a second parameter to rename
|
||
the resulting field.</p>
|
||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">selectSum</span><span class="p">(</span><span class="s1">'age'</span><span class="p">);</span>
|
||
<span class="nv">$query</span> <span class="o">=</span> <span class="nv">$builder</span><span class="o">-></span><span class="na">get</span><span class="p">();</span>
|
||
<span class="c1">// Produces: SELECT SUM(age) as age FROM mytable</span>
|
||
</pre></div>
|
||
</div>
|
||
</section>
|
||
<section id="builder-selectcount">
|
||
<h4>$builder->selectCount()<a class="headerlink" href="#builder-selectcount" title="Permalink to this headline"></a></h4>
|
||
<p>Writes a <strong>SELECT COUNT(field)</strong> portion for your query. As with
|
||
<code class="docutils literal notranslate"><span class="pre">selectMax()</span></code>, You can optionally include a second parameter to rename
|
||
the resulting field.</p>
|
||
<div class="admonition note">
|
||
<p class="admonition-title">Note</p>
|
||
<p>This method is particularly helpful when used with <code class="docutils literal notranslate"><span class="pre">groupBy()</span></code>. For
|
||
counting results generally see <code class="docutils literal notranslate"><span class="pre">countAll()</span></code> or <code class="docutils literal notranslate"><span class="pre">countAllResults()</span></code>.</p>
|
||
</div>
|
||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">selectCount</span><span class="p">(</span><span class="s1">'age'</span><span class="p">);</span>
|
||
<span class="nv">$query</span> <span class="o">=</span> <span class="nv">$builder</span><span class="o">-></span><span class="na">get</span><span class="p">();</span>
|
||
<span class="c1">// Produces: SELECT COUNT(age) as age FROM mytable</span>
|
||
</pre></div>
|
||
</div>
|
||
</section>
|
||
<section id="builder-selectsubquery">
|
||
<h4>$builder->selectSubquery()<a class="headerlink" href="#builder-selectsubquery" title="Permalink to this headline"></a></h4>
|
||
<p>Adds a subquery to the SELECT section.</p>
|
||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="nv">$subquery</span> <span class="o">=</span> <span class="nv">$db</span><span class="o">-></span><span class="na">table</span><span class="p">(</span><span class="s1">'countries'</span><span class="p">)</span><span class="o">-></span><span class="na">select</span><span class="p">(</span><span class="s1">'name'</span><span class="p">)</span><span class="o">-></span><span class="na">where</span><span class="p">(</span><span class="s1">'id'</span><span class="p">,</span> <span class="mi">1</span><span class="p">);</span>
|
||
<span class="nv">$builder</span> <span class="o">=</span> <span class="nv">$db</span><span class="o">-></span><span class="na">table</span><span class="p">(</span><span class="s1">'users'</span><span class="p">)</span><span class="o">-></span><span class="na">select</span><span class="p">(</span><span class="s1">'name'</span><span class="p">)</span><span class="o">-></span><span class="na">selectSubquery</span><span class="p">(</span><span class="nv">$subquery</span><span class="p">,</span> <span class="s1">'country'</span><span class="p">);</span>
|
||
<span class="nv">$query</span> <span class="o">=</span> <span class="nv">$builder</span><span class="o">-></span><span class="na">get</span><span class="p">();</span>
|
||
<span class="c1">// Produces: SELECT `name`, (SELECT `name` FROM `countries` WHERE `id` = 1) `country` FROM `users`</span>
|
||
</pre></div>
|
||
</div>
|
||
</section>
|
||
</section>
|
||
<section id="from">
|
||
<h3><a class="toc-backref" href="#id14">From</a><a class="headerlink" href="#from" title="Permalink to this headline"></a></h3>
|
||
<section id="builder-from">
|
||
<h4>$builder->from()<a class="headerlink" href="#builder-from" title="Permalink to this headline"></a></h4>
|
||
<p>Permits you to write the <strong>FROM</strong> portion of your query:</p>
|
||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="nv">$builder</span> <span class="o">=</span> <span class="nv">$db</span><span class="o">-></span><span class="na">table</span><span class="p">(</span><span class="s1">'users'</span><span class="p">);</span>
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">select</span><span class="p">(</span><span class="s1">'title, content, date'</span><span class="p">);</span>
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">from</span><span class="p">(</span><span class="s1">'mytable'</span><span class="p">);</span>
|
||
<span class="nv">$query</span> <span class="o">=</span> <span class="nv">$builder</span><span class="o">-></span><span class="na">get</span><span class="p">();</span>
|
||
<span class="c1">// Produces: SELECT title, content, date FROM users, mytable</span>
|
||
</pre></div>
|
||
</div>
|
||
<div class="admonition note">
|
||
<p class="admonition-title">Note</p>
|
||
<p>As shown earlier, the <strong>FROM</strong> portion of your query can be specified
|
||
in the <code class="docutils literal notranslate"><span class="pre">$db->table()</span></code> method. Additional calls to <code class="docutils literal notranslate"><span class="pre">from()</span></code> will add more tables
|
||
to the FROM portion of your query.</p>
|
||
</div>
|
||
</section>
|
||
</section>
|
||
<section id="subqueries">
|
||
<span id="query-builder-from-subquery"></span><h3><a class="toc-backref" href="#id15">Subqueries</a><a class="headerlink" href="#subqueries" title="Permalink to this headline"></a></h3>
|
||
<section id="builder-fromsubquery">
|
||
<h4>$builder->fromSubquery()<a class="headerlink" href="#builder-fromsubquery" title="Permalink to this headline"></a></h4>
|
||
<p>Permits you to write part of a <strong>FROM</strong> query as a subquery.</p>
|
||
<p>This is where we add a subquery to an existing table:</p>
|
||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="nv">$subquery</span> <span class="o">=</span> <span class="nv">$db</span><span class="o">-></span><span class="na">table</span><span class="p">(</span><span class="s1">'users'</span><span class="p">);</span>
|
||
<span class="nv">$builder</span> <span class="o">=</span> <span class="nv">$db</span><span class="o">-></span><span class="na">table</span><span class="p">(</span><span class="s1">'jobs'</span><span class="p">)</span><span class="o">-></span><span class="na">fromSubquery</span><span class="p">(</span><span class="nv">$subquery</span><span class="p">,</span> <span class="s1">'alias'</span><span class="p">);</span>
|
||
<span class="nv">$query</span> <span class="o">=</span> <span class="nv">$builder</span><span class="o">-></span><span class="na">get</span><span class="p">();</span>
|
||
<span class="c1">// Produces: SELECT * FROM `jobs`, (SELECT * FROM `users`) `alias`</span>
|
||
</pre></div>
|
||
</div>
|
||
<p>Use the <code class="docutils literal notranslate"><span class="pre">$db->newQuery()</span></code> method to make a subquery the main table:</p>
|
||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="nv">$subquery</span> <span class="o">=</span> <span class="nv">$db</span><span class="o">-></span><span class="na">table</span><span class="p">(</span><span class="s1">'users'</span><span class="p">)</span><span class="o">-></span><span class="na">select</span><span class="p">(</span><span class="s1">'id, name'</span><span class="p">);</span>
|
||
<span class="nv">$builder</span> <span class="o">=</span> <span class="nv">$db</span><span class="o">-></span><span class="na">newQuery</span><span class="p">()</span><span class="o">-></span><span class="na">fromSubquery</span><span class="p">(</span><span class="nv">$subquery</span><span class="p">,</span> <span class="s1">'t'</span><span class="p">);</span>
|
||
<span class="nv">$query</span> <span class="o">=</span> <span class="nv">$builder</span><span class="o">-></span><span class="na">get</span><span class="p">();</span>
|
||
<span class="c1">// Produces: SELECT * FROM (SELECT `id`, `name` FROM users) `t`</span>
|
||
</pre></div>
|
||
</div>
|
||
</section>
|
||
</section>
|
||
<section id="join">
|
||
<h3><a class="toc-backref" href="#id16">Join</a><a class="headerlink" href="#join" title="Permalink to this headline"></a></h3>
|
||
<section id="builder-join">
|
||
<h4>$builder->join()<a class="headerlink" href="#builder-join" title="Permalink to this headline"></a></h4>
|
||
<p>Permits you to write the <strong>JOIN</strong> portion of your query:</p>
|
||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="nv">$builder</span> <span class="o">=</span> <span class="nv">$db</span><span class="o">-></span><span class="na">table</span><span class="p">(</span><span class="s1">'blogs'</span><span class="p">);</span>
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">select</span><span class="p">(</span><span class="s1">'*'</span><span class="p">);</span>
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">join</span><span class="p">(</span><span class="s1">'comments'</span><span class="p">,</span> <span class="s1">'comments.id = blogs.id'</span><span class="p">);</span>
|
||
<span class="nv">$query</span> <span class="o">=</span> <span class="nv">$builder</span><span class="o">-></span><span class="na">get</span><span class="p">();</span>
|
||
<span class="cm">/*</span>
|
||
<span class="cm"> * Produces:</span>
|
||
<span class="cm"> * SELECT * FROM blogs JOIN comments ON comments.id = blogs.id</span>
|
||
<span class="cm"> */</span>
|
||
</pre></div>
|
||
</div>
|
||
<p>Multiple method calls can be made if you need several joins in one
|
||
query.</p>
|
||
<p>If you need a specific type of <strong>JOIN</strong> you can specify it via the third
|
||
parameter of the method. Options are: <code class="docutils literal notranslate"><span class="pre">left</span></code>, <code class="docutils literal notranslate"><span class="pre">right</span></code>, <code class="docutils literal notranslate"><span class="pre">outer</span></code>, <code class="docutils literal notranslate"><span class="pre">inner</span></code>, <code class="docutils literal notranslate"><span class="pre">left</span>
|
||
<span class="pre">outer</span></code>, and <code class="docutils literal notranslate"><span class="pre">right</span> <span class="pre">outer</span></code>.</p>
|
||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">join</span><span class="p">(</span><span class="s1">'comments'</span><span class="p">,</span> <span class="s1">'comments.id = blogs.id'</span><span class="p">,</span> <span class="s1">'left'</span><span class="p">);</span>
|
||
<span class="c1">// Produces: LEFT JOIN comments ON comments.id = blogs.id</span>
|
||
</pre></div>
|
||
</div>
|
||
<section id="query-builder-join-rawsql">
|
||
<span id="id1"></span><h5>RawSql<a class="headerlink" href="#query-builder-join-rawsql" title="Permalink to this headline"></a></h5>
|
||
<p>Since v4.2.0, <code class="docutils literal notranslate"><span class="pre">$builder->join()</span></code> accepts a <code class="docutils literal notranslate"><span class="pre">CodeIgniter\Database\RawSql</span></code> instance, which expresses raw SQL strings.</p>
|
||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="k">use</span> <span class="nx">CodeIgniter\Database\RawSql</span><span class="p">;</span>
|
||
|
||
<span class="nv">$sql</span> <span class="o">=</span> <span class="s1">'user.id = device.user_id AND ((1=1 OR 1=1) OR (1=1 OR 1=1))'</span><span class="p">;</span>
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">join</span><span class="p">(</span><span class="s1">'user'</span><span class="p">,</span> <span class="k">new</span> <span class="nx">RawSql</span><span class="p">(</span><span class="nv">$sql</span><span class="p">),</span> <span class="s1">'LEFT'</span><span class="p">);</span>
|
||
<span class="c1">// Produces: LEFT JOIN "user" ON user.id = device.user_id AND ((1=1 OR 1=1) OR (1=1 OR 1=1))</span>
|
||
</pre></div>
|
||
</div>
|
||
<div class="admonition warning">
|
||
<p class="admonition-title">Warning</p>
|
||
<p>When you use <code class="docutils literal notranslate"><span class="pre">RawSql</span></code>, you MUST escape the values and protect the identifiers manually. Failure to do so could result in SQL injections.</p>
|
||
</div>
|
||
</section>
|
||
</section>
|
||
</section>
|
||
</section>
|
||
<section id="looking-for-specific-data">
|
||
<h2><a class="toc-backref" href="#id17">Looking for Specific Data</a><a class="headerlink" href="#looking-for-specific-data" title="Permalink to this headline"></a></h2>
|
||
<section id="where">
|
||
<h3><a class="toc-backref" href="#id18">Where</a><a class="headerlink" href="#where" title="Permalink to this headline"></a></h3>
|
||
<section id="builder-where">
|
||
<h4>$builder->where()<a class="headerlink" href="#builder-where" title="Permalink to this headline"></a></h4>
|
||
<p>This method enables you to set <strong>WHERE</strong> clauses using one of five
|
||
methods:</p>
|
||
<div class="admonition note">
|
||
<p class="admonition-title">Note</p>
|
||
<p>All values passed to this method are escaped automatically,
|
||
producing safer queries, except when using a custom string.</p>
|
||
</div>
|
||
<div class="admonition note">
|
||
<p class="admonition-title">Note</p>
|
||
<p><code class="docutils literal notranslate"><span class="pre">$builder->where()</span></code> accepts an optional third parameter. If you set it to
|
||
<code class="docutils literal notranslate"><span class="pre">false</span></code>, CodeIgniter will not try to protect your field or table names.</p>
|
||
</div>
|
||
<section id="simple-key-value-method">
|
||
<h5>1. Simple key/value method<a class="headerlink" href="#simple-key-value-method" title="Permalink to this headline"></a></h5>
|
||
<blockquote>
|
||
<div><div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">where</span><span class="p">(</span><span class="s1">'name'</span><span class="p">,</span> <span class="nv">$name</span><span class="p">);</span>
|
||
<span class="c1">// Produces: WHERE name = 'Joe'</span>
|
||
</pre></div>
|
||
</div>
|
||
<p>Notice that the equal sign is added for you.</p>
|
||
<p>If you use multiple method calls they will be chained together with
|
||
<strong>AND</strong> between them:</p>
|
||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">where</span><span class="p">(</span><span class="s1">'name'</span><span class="p">,</span> <span class="nv">$name</span><span class="p">);</span>
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">where</span><span class="p">(</span><span class="s1">'title'</span><span class="p">,</span> <span class="nv">$title</span><span class="p">);</span>
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">where</span><span class="p">(</span><span class="s1">'status'</span><span class="p">,</span> <span class="nv">$status</span><span class="p">);</span>
|
||
<span class="c1">// WHERE name = 'Joe' AND title = 'boss' AND status = 'active'</span>
|
||
</pre></div>
|
||
</div>
|
||
</div></blockquote>
|
||
</section>
|
||
<section id="custom-key-value-method">
|
||
<h5>2. Custom key/value method<a class="headerlink" href="#custom-key-value-method" title="Permalink to this headline"></a></h5>
|
||
<blockquote>
|
||
<div><p>You can include an operator in the first parameter in order to
|
||
control the comparison:</p>
|
||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">where</span><span class="p">(</span><span class="s1">'name !='</span><span class="p">,</span> <span class="nv">$name</span><span class="p">);</span>
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">where</span><span class="p">(</span><span class="s1">'id <'</span><span class="p">,</span> <span class="nv">$id</span><span class="p">);</span>
|
||
<span class="c1">// Produces: WHERE name != 'Joe' AND id < 45</span>
|
||
</pre></div>
|
||
</div>
|
||
</div></blockquote>
|
||
</section>
|
||
<section id="associative-array-method">
|
||
<h5>3. Associative array method<a class="headerlink" href="#associative-array-method" title="Permalink to this headline"></a></h5>
|
||
<blockquote>
|
||
<div><div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="nv">$array</span> <span class="o">=</span> <span class="p">[</span><span class="s1">'name'</span> <span class="o">=></span> <span class="nv">$name</span><span class="p">,</span> <span class="s1">'title'</span> <span class="o">=></span> <span class="nv">$title</span><span class="p">,</span> <span class="s1">'status'</span> <span class="o">=></span> <span class="nv">$status</span><span class="p">];</span>
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">where</span><span class="p">(</span><span class="nv">$array</span><span class="p">);</span>
|
||
<span class="c1">// Produces: WHERE name = 'Joe' AND title = 'boss' AND status = 'active'</span>
|
||
</pre></div>
|
||
</div>
|
||
<p>You can include your own operators using this method as well:</p>
|
||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="nv">$array</span> <span class="o">=</span> <span class="p">[</span><span class="s1">'name !='</span> <span class="o">=></span> <span class="nv">$name</span><span class="p">,</span> <span class="s1">'id <'</span> <span class="o">=></span> <span class="nv">$id</span><span class="p">,</span> <span class="s1">'date >'</span> <span class="o">=></span> <span class="nv">$date</span><span class="p">];</span>
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">where</span><span class="p">(</span><span class="nv">$array</span><span class="p">);</span>
|
||
</pre></div>
|
||
</div>
|
||
</div></blockquote>
|
||
</section>
|
||
<section id="custom-string">
|
||
<h5>4. Custom string<a class="headerlink" href="#custom-string" title="Permalink to this headline"></a></h5>
|
||
<blockquote>
|
||
<div><p>You can write your own clauses manually:</p>
|
||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="nv">$where</span> <span class="o">=</span> <span class="s2">"name='Joe' AND status='boss' OR status='active'"</span><span class="p">;</span>
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">where</span><span class="p">(</span><span class="nv">$where</span><span class="p">);</span>
|
||
</pre></div>
|
||
</div>
|
||
<div class="admonition warning">
|
||
<p class="admonition-title">Warning</p>
|
||
<p>If you are using user-supplied data within the string, you MUST escape the values and protect the identifiers manually. Failure to do so could result in SQL injections.</p>
|
||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="nv">$name</span> <span class="o">=</span> <span class="nv">$builder</span><span class="o">-></span><span class="na">db</span><span class="o">-></span><span class="na">escape</span><span class="p">(</span><span class="s1">'Joe'</span><span class="p">);</span>
|
||
<span class="nv">$where</span> <span class="o">=</span> <span class="s2">"name=</span><span class="si">{</span><span class="nv">$name</span><span class="si">}</span><span class="s2"> AND status='boss' OR status='active'"</span><span class="p">;</span>
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">where</span><span class="p">(</span><span class="nv">$where</span><span class="p">);</span>
|
||
</pre></div>
|
||
</div>
|
||
</div>
|
||
</div></blockquote>
|
||
</section>
|
||
<section id="query-builder-where-rawsql">
|
||
<span id="id2"></span><h5>5. RawSql<a class="headerlink" href="#query-builder-where-rawsql" title="Permalink to this headline"></a></h5>
|
||
<blockquote>
|
||
<div><p>Since v4.2.0, <code class="docutils literal notranslate"><span class="pre">$builder->where()</span></code> accepts a <code class="docutils literal notranslate"><span class="pre">CodeIgniter\Database\RawSql</span></code> instance, which expresses raw SQL strings.</p>
|
||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="k">use</span> <span class="nx">CodeIgniter\Database\RawSql</span><span class="p">;</span>
|
||
|
||
<span class="nv">$sql</span> <span class="o">=</span> <span class="s2">"id > 2 AND name != 'Accountant'"</span><span class="p">;</span>
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">where</span><span class="p">(</span><span class="k">new</span> <span class="nx">RawSql</span><span class="p">(</span><span class="nv">$sql</span><span class="p">));</span>
|
||
</pre></div>
|
||
</div>
|
||
<div class="admonition warning">
|
||
<p class="admonition-title">Warning</p>
|
||
<p>When you use <code class="docutils literal notranslate"><span class="pre">RawSql</span></code>, you MUST escape the values and protect the identifiers manually. Failure to do so could result in SQL injections.</p>
|
||
</div>
|
||
</div></blockquote>
|
||
</section>
|
||
<section id="query-builder-where-subquery">
|
||
<span id="id3"></span><h5>6. Subqueries<a class="headerlink" href="#query-builder-where-subquery" title="Permalink to this headline"></a></h5>
|
||
<blockquote>
|
||
<div><div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="c1">// With closure</span>
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">where</span><span class="p">(</span><span class="s1">'advance_amount <'</span><span class="p">,</span> <span class="k">static</span> <span class="nx">fn</span> <span class="p">(</span><span class="nx">BaseBuilder</span> <span class="nv">$builder</span><span class="p">)</span> <span class="o">=></span> <span class="nv">$builder</span><span class="o">-></span><span class="na">select</span><span class="p">(</span><span class="s1">'MAX(advance_amount)'</span><span class="p">,</span> <span class="k">false</span><span class="p">)</span><span class="o">-></span><span class="na">from</span><span class="p">(</span><span class="s1">'orders'</span><span class="p">)</span><span class="o">-></span><span class="na">where</span><span class="p">(</span><span class="s1">'id >'</span><span class="p">,</span> <span class="mi">2</span><span class="p">));</span>
|
||
<span class="c1">// Produces: WHERE "advance_amount" < (SELECT MAX(advance_amount) FROM "orders" WHERE "id" > 2)</span>
|
||
|
||
<span class="c1">// With builder directly</span>
|
||
<span class="nv">$subQuery</span> <span class="o">=</span> <span class="nv">$db</span><span class="o">-></span><span class="na">table</span><span class="p">(</span><span class="s1">'orders'</span><span class="p">)</span><span class="o">-></span><span class="na">select</span><span class="p">(</span><span class="s1">'MAX(advance_amount)'</span><span class="p">,</span> <span class="k">false</span><span class="p">)</span><span class="o">-></span><span class="na">where</span><span class="p">(</span><span class="s1">'id >'</span><span class="p">,</span> <span class="mi">2</span><span class="p">);</span>
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">where</span><span class="p">(</span><span class="s1">'advance_amount <'</span><span class="p">,</span> <span class="nv">$subQuery</span><span class="p">);</span>
|
||
</pre></div>
|
||
</div>
|
||
</div></blockquote>
|
||
</section>
|
||
</section>
|
||
<section id="builder-orwhere">
|
||
<h4>$builder->orWhere()<a class="headerlink" href="#builder-orwhere" title="Permalink to this headline"></a></h4>
|
||
<p>This method is identical to the one above, except that multiple
|
||
instances are joined by <strong>OR</strong>:</p>
|
||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">where</span><span class="p">(</span><span class="s1">'name !='</span><span class="p">,</span> <span class="nv">$name</span><span class="p">);</span>
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">orWhere</span><span class="p">(</span><span class="s1">'id >'</span><span class="p">,</span> <span class="nv">$id</span><span class="p">);</span>
|
||
<span class="c1">// Produces: WHERE name != 'Joe' OR id > 50</span>
|
||
</pre></div>
|
||
</div>
|
||
</section>
|
||
<section id="builder-wherein">
|
||
<h4>$builder->whereIn()<a class="headerlink" href="#builder-wherein" title="Permalink to this headline"></a></h4>
|
||
<p>Generates a <strong>WHERE</strong> field IN (‘item’, ‘item’) SQL query joined with <strong>AND</strong> if
|
||
appropriate:</p>
|
||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="nv">$names</span> <span class="o">=</span> <span class="p">[</span><span class="s1">'Frank'</span><span class="p">,</span> <span class="s1">'Todd'</span><span class="p">,</span> <span class="s1">'James'</span><span class="p">];</span>
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">whereIn</span><span class="p">(</span><span class="s1">'username'</span><span class="p">,</span> <span class="nv">$names</span><span class="p">);</span>
|
||
<span class="c1">// Produces: WHERE username IN ('Frank', 'Todd', 'James')</span>
|
||
</pre></div>
|
||
</div>
|
||
<p>You can use subqueries instead of an array of values:</p>
|
||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="c1">// With closure</span>
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">whereIn</span><span class="p">(</span><span class="s1">'id'</span><span class="p">,</span> <span class="k">static</span> <span class="nx">fn</span> <span class="p">(</span><span class="nx">BaseBuilder</span> <span class="nv">$builder</span><span class="p">)</span> <span class="o">=></span> <span class="nv">$builder</span><span class="o">-></span><span class="na">select</span><span class="p">(</span><span class="s1">'job_id'</span><span class="p">)</span><span class="o">-></span><span class="na">from</span><span class="p">(</span><span class="s1">'users_jobs'</span><span class="p">)</span><span class="o">-></span><span class="na">where</span><span class="p">(</span><span class="s1">'user_id'</span><span class="p">,</span> <span class="mi">3</span><span class="p">));</span>
|
||
<span class="c1">// Produces: WHERE "id" IN (SELECT "job_id" FROM "users_jobs" WHERE "user_id" = 3)</span>
|
||
|
||
<span class="c1">// With builder directly</span>
|
||
<span class="nv">$subQuery</span> <span class="o">=</span> <span class="nv">$db</span><span class="o">-></span><span class="na">table</span><span class="p">(</span><span class="s1">'users_jobs'</span><span class="p">)</span><span class="o">-></span><span class="na">select</span><span class="p">(</span><span class="s1">'job_id'</span><span class="p">)</span><span class="o">-></span><span class="na">where</span><span class="p">(</span><span class="s1">'user_id'</span><span class="p">,</span> <span class="mi">3</span><span class="p">);</span>
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">whereIn</span><span class="p">(</span><span class="s1">'id'</span><span class="p">,</span> <span class="nv">$subQuery</span><span class="p">);</span>
|
||
</pre></div>
|
||
</div>
|
||
</section>
|
||
<section id="builder-orwherein">
|
||
<h4>$builder->orWhereIn()<a class="headerlink" href="#builder-orwherein" title="Permalink to this headline"></a></h4>
|
||
<p>Generates a <strong>WHERE field IN (‘item’, ‘item’)</strong> SQL query joined with <strong>OR</strong> if
|
||
appropriate:</p>
|
||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="nv">$names</span> <span class="o">=</span> <span class="p">[</span><span class="s1">'Frank'</span><span class="p">,</span> <span class="s1">'Todd'</span><span class="p">,</span> <span class="s1">'James'</span><span class="p">];</span>
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">orWhereIn</span><span class="p">(</span><span class="s1">'username'</span><span class="p">,</span> <span class="nv">$names</span><span class="p">);</span>
|
||
<span class="c1">// Produces: OR username IN ('Frank', 'Todd', 'James')</span>
|
||
</pre></div>
|
||
</div>
|
||
<p>You can use subqueries instead of an array of values:</p>
|
||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="c1">// With closure</span>
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">orWhereIn</span><span class="p">(</span><span class="s1">'id'</span><span class="p">,</span> <span class="k">static</span> <span class="nx">fn</span> <span class="p">(</span><span class="nx">BaseBuilder</span> <span class="nv">$builder</span><span class="p">)</span> <span class="o">=></span> <span class="nv">$builder</span><span class="o">-></span><span class="na">select</span><span class="p">(</span><span class="s1">'job_id'</span><span class="p">)</span><span class="o">-></span><span class="na">from</span><span class="p">(</span><span class="s1">'users_jobs'</span><span class="p">)</span><span class="o">-></span><span class="na">where</span><span class="p">(</span><span class="s1">'user_id'</span><span class="p">,</span> <span class="mi">3</span><span class="p">));</span>
|
||
<span class="c1">// Produces: OR "id" IN (SELECT "job_id" FROM "users_jobs" WHERE "user_id" = 3)</span>
|
||
|
||
<span class="c1">// With builder directly</span>
|
||
<span class="nv">$subQuery</span> <span class="o">=</span> <span class="nv">$db</span><span class="o">-></span><span class="na">table</span><span class="p">(</span><span class="s1">'users_jobs'</span><span class="p">)</span><span class="o">-></span><span class="na">select</span><span class="p">(</span><span class="s1">'job_id'</span><span class="p">)</span><span class="o">-></span><span class="na">where</span><span class="p">(</span><span class="s1">'user_id'</span><span class="p">,</span> <span class="mi">3</span><span class="p">);</span>
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">orWhereIn</span><span class="p">(</span><span class="s1">'id'</span><span class="p">,</span> <span class="nv">$subQuery</span><span class="p">);</span>
|
||
</pre></div>
|
||
</div>
|
||
</section>
|
||
<section id="builder-wherenotin">
|
||
<h4>$builder->whereNotIn()<a class="headerlink" href="#builder-wherenotin" title="Permalink to this headline"></a></h4>
|
||
<p>Generates a <strong>WHERE field NOT IN (‘item’, ‘item’)</strong> SQL query joined with
|
||
<strong>AND</strong> if appropriate:</p>
|
||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="nv">$names</span> <span class="o">=</span> <span class="p">[</span><span class="s1">'Frank'</span><span class="p">,</span> <span class="s1">'Todd'</span><span class="p">,</span> <span class="s1">'James'</span><span class="p">];</span>
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">whereNotIn</span><span class="p">(</span><span class="s1">'username'</span><span class="p">,</span> <span class="nv">$names</span><span class="p">);</span>
|
||
<span class="c1">// Produces: WHERE username NOT IN ('Frank', 'Todd', 'James')</span>
|
||
</pre></div>
|
||
</div>
|
||
<p>You can use subqueries instead of an array of values:</p>
|
||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="c1">// With closure</span>
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">whereNotIn</span><span class="p">(</span><span class="s1">'id'</span><span class="p">,</span> <span class="k">static</span> <span class="nx">fn</span> <span class="p">(</span><span class="nx">BaseBuilder</span> <span class="nv">$builder</span><span class="p">)</span> <span class="o">=></span> <span class="nv">$builder</span><span class="o">-></span><span class="na">select</span><span class="p">(</span><span class="s1">'job_id'</span><span class="p">)</span><span class="o">-></span><span class="na">from</span><span class="p">(</span><span class="s1">'users_jobs'</span><span class="p">)</span><span class="o">-></span><span class="na">where</span><span class="p">(</span><span class="s1">'user_id'</span><span class="p">,</span> <span class="mi">3</span><span class="p">));</span>
|
||
<span class="c1">// Produces: WHERE "id" NOT IN (SELECT "job_id" FROM "users_jobs" WHERE "user_id" = 3)</span>
|
||
|
||
<span class="c1">// With builder directly</span>
|
||
<span class="nv">$subQuery</span> <span class="o">=</span> <span class="nv">$db</span><span class="o">-></span><span class="na">table</span><span class="p">(</span><span class="s1">'users_jobs'</span><span class="p">)</span><span class="o">-></span><span class="na">select</span><span class="p">(</span><span class="s1">'job_id'</span><span class="p">)</span><span class="o">-></span><span class="na">where</span><span class="p">(</span><span class="s1">'user_id'</span><span class="p">,</span> <span class="mi">3</span><span class="p">);</span>
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">whereNotIn</span><span class="p">(</span><span class="s1">'id'</span><span class="p">,</span> <span class="nv">$subQuery</span><span class="p">);</span>
|
||
</pre></div>
|
||
</div>
|
||
</section>
|
||
<section id="builder-orwherenotin">
|
||
<h4>$builder->orWhereNotIn()<a class="headerlink" href="#builder-orwherenotin" title="Permalink to this headline"></a></h4>
|
||
<p>Generates a <strong>WHERE field NOT IN (‘item’, ‘item’)</strong> SQL query joined with <strong>OR</strong>
|
||
if appropriate:</p>
|
||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="nv">$names</span> <span class="o">=</span> <span class="p">[</span><span class="s1">'Frank'</span><span class="p">,</span> <span class="s1">'Todd'</span><span class="p">,</span> <span class="s1">'James'</span><span class="p">];</span>
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">orWhereNotIn</span><span class="p">(</span><span class="s1">'username'</span><span class="p">,</span> <span class="nv">$names</span><span class="p">);</span>
|
||
<span class="c1">// Produces: OR username NOT IN ('Frank', 'Todd', 'James')</span>
|
||
</pre></div>
|
||
</div>
|
||
<p>You can use subqueries instead of an array of values:</p>
|
||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="c1">// With closure</span>
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">orWhereNotIn</span><span class="p">(</span><span class="s1">'id'</span><span class="p">,</span> <span class="k">static</span> <span class="nx">fn</span> <span class="p">(</span><span class="nx">BaseBuilder</span> <span class="nv">$builder</span><span class="p">)</span> <span class="o">=></span> <span class="nv">$builder</span><span class="o">-></span><span class="na">select</span><span class="p">(</span><span class="s1">'job_id'</span><span class="p">)</span><span class="o">-></span><span class="na">from</span><span class="p">(</span><span class="s1">'users_jobs'</span><span class="p">)</span><span class="o">-></span><span class="na">where</span><span class="p">(</span><span class="s1">'user_id'</span><span class="p">,</span> <span class="mi">3</span><span class="p">));</span>
|
||
<span class="c1">// Produces: OR "id" NOT IN (SELECT "job_id" FROM "users_jobs" WHERE "user_id" = 3)</span>
|
||
|
||
<span class="c1">// With builder directly</span>
|
||
<span class="nv">$subQuery</span> <span class="o">=</span> <span class="nv">$db</span><span class="o">-></span><span class="na">table</span><span class="p">(</span><span class="s1">'users_jobs'</span><span class="p">)</span><span class="o">-></span><span class="na">select</span><span class="p">(</span><span class="s1">'job_id'</span><span class="p">)</span><span class="o">-></span><span class="na">where</span><span class="p">(</span><span class="s1">'user_id'</span><span class="p">,</span> <span class="mi">3</span><span class="p">);</span>
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">orWhereNotIn</span><span class="p">(</span><span class="s1">'id'</span><span class="p">,</span> <span class="nv">$subQuery</span><span class="p">);</span>
|
||
</pre></div>
|
||
</div>
|
||
</section>
|
||
</section>
|
||
</section>
|
||
<section id="looking-for-similar-data">
|
||
<h2><a class="toc-backref" href="#id19">Looking for Similar Data</a><a class="headerlink" href="#looking-for-similar-data" title="Permalink to this headline"></a></h2>
|
||
<section id="like">
|
||
<h3><a class="toc-backref" href="#id20">Like</a><a class="headerlink" href="#like" title="Permalink to this headline"></a></h3>
|
||
<section id="builder-like">
|
||
<h4>$builder->like()<a class="headerlink" href="#builder-like" title="Permalink to this headline"></a></h4>
|
||
<p>This method enables you to generate <strong>LIKE</strong> clauses, useful for doing
|
||
searches.</p>
|
||
<div class="admonition note">
|
||
<p class="admonition-title">Note</p>
|
||
<p>All values passed to this method are escaped automatically.</p>
|
||
</div>
|
||
<div class="admonition note">
|
||
<p class="admonition-title">Note</p>
|
||
<p>All <code class="docutils literal notranslate"><span class="pre">like*</span></code> method variations can be forced to perform case-insensitive searches by passing
|
||
a fifth parameter of <code class="docutils literal notranslate"><span class="pre">true</span></code> to the method. This will use platform-specific features where available
|
||
otherwise, will force the values to be lowercase, i.e., <code class="docutils literal notranslate"><span class="pre">WHERE</span> <span class="pre">LOWER(column)</span> <span class="pre">LIKE</span> <span class="pre">'%search%'</span></code>. This
|
||
may require indexes to be made for <code class="docutils literal notranslate"><span class="pre">LOWER(column)</span></code> instead of <code class="docutils literal notranslate"><span class="pre">column</span></code> to be effective.</p>
|
||
</div>
|
||
<section id="id4">
|
||
<h5>1. Simple key/value method<a class="headerlink" href="#id4" title="Permalink to this headline"></a></h5>
|
||
<blockquote>
|
||
<div><div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">like</span><span class="p">(</span><span class="s1">'title'</span><span class="p">,</span> <span class="s1">'match'</span><span class="p">);</span>
|
||
<span class="c1">// Produces: WHERE `title` LIKE '%match%' ESCAPE '!'</span>
|
||
</pre></div>
|
||
</div>
|
||
<p>If you use multiple method calls they will be chained together with
|
||
<strong>AND</strong> between them:</p>
|
||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">like</span><span class="p">(</span><span class="s1">'title'</span><span class="p">,</span> <span class="s1">'match'</span><span class="p">);</span>
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">like</span><span class="p">(</span><span class="s1">'body'</span><span class="p">,</span> <span class="s1">'match'</span><span class="p">);</span>
|
||
<span class="c1">// WHERE `title` LIKE '%match%' ESCAPE '!' AND `body` LIKE '%match%' ESCAPE '!'</span>
|
||
</pre></div>
|
||
</div>
|
||
<p>If you want to control where the wildcard (<strong>%</strong>) is placed, you can use
|
||
an optional third argument. Your options are <code class="docutils literal notranslate"><span class="pre">before</span></code>, <code class="docutils literal notranslate"><span class="pre">after</span></code> and
|
||
<code class="docutils literal notranslate"><span class="pre">both</span></code> (which is the default).</p>
|
||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">like</span><span class="p">(</span><span class="s1">'title'</span><span class="p">,</span> <span class="s1">'match'</span><span class="p">,</span> <span class="s1">'before'</span><span class="p">);</span> <span class="c1">// Produces: WHERE `title` LIKE '%match' ESCAPE '!'</span>
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">like</span><span class="p">(</span><span class="s1">'title'</span><span class="p">,</span> <span class="s1">'match'</span><span class="p">,</span> <span class="s1">'after'</span><span class="p">);</span> <span class="c1">// Produces: WHERE `title` LIKE 'match%' ESCAPE '!'</span>
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">like</span><span class="p">(</span><span class="s1">'title'</span><span class="p">,</span> <span class="s1">'match'</span><span class="p">,</span> <span class="s1">'both'</span><span class="p">);</span> <span class="c1">// Produces: WHERE `title` LIKE '%match%' ESCAPE '!'</span>
|
||
</pre></div>
|
||
</div>
|
||
</div></blockquote>
|
||
</section>
|
||
<section id="id5">
|
||
<h5>2. Associative array method<a class="headerlink" href="#id5" title="Permalink to this headline"></a></h5>
|
||
<blockquote>
|
||
<div><div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="nv">$array</span> <span class="o">=</span> <span class="p">[</span><span class="s1">'title'</span> <span class="o">=></span> <span class="nv">$match</span><span class="p">,</span> <span class="s1">'page1'</span> <span class="o">=></span> <span class="nv">$match</span><span class="p">,</span> <span class="s1">'page2'</span> <span class="o">=></span> <span class="nv">$match</span><span class="p">];</span>
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">like</span><span class="p">(</span><span class="nv">$array</span><span class="p">);</span>
|
||
<span class="c1">// WHERE `title` LIKE '%match%' ESCAPE '!' AND `page1` LIKE '%match%' ESCAPE '!' AND `page2` LIKE '%match%' ESCAPE '!'</span>
|
||
</pre></div>
|
||
</div>
|
||
</div></blockquote>
|
||
</section>
|
||
<section id="query-builder-like-rawsql">
|
||
<span id="id6"></span><h5>3. RawSql<a class="headerlink" href="#query-builder-like-rawsql" title="Permalink to this headline"></a></h5>
|
||
<blockquote>
|
||
<div><p>Since v4.2.0, <code class="docutils literal notranslate"><span class="pre">$builder->like()</span></code> accepts a <code class="docutils literal notranslate"><span class="pre">CodeIgniter\Database\RawSql</span></code> instance, which expresses raw SQL strings.</p>
|
||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="k">use</span> <span class="nx">CodeIgniter\Database\RawSql</span><span class="p">;</span>
|
||
|
||
<span class="nv">$sql</span> <span class="o">=</span> <span class="s2">"CONCAT(users.name, ' ', IF(users.surname IS NULL OR users.surname = '', '', users.surname))"</span><span class="p">;</span>
|
||
<span class="nv">$rawSql</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">RawSql</span><span class="p">(</span><span class="nv">$sql</span><span class="p">);</span>
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">like</span><span class="p">(</span><span class="nv">$rawSql</span><span class="p">,</span> <span class="s1">'value'</span><span class="p">,</span> <span class="s1">'both'</span><span class="p">);</span>
|
||
</pre></div>
|
||
</div>
|
||
<div class="admonition warning">
|
||
<p class="admonition-title">Warning</p>
|
||
<p>When you use <code class="docutils literal notranslate"><span class="pre">RawSql</span></code>, you MUST escape the values and protect the identifiers manually. Failure to do so could result in SQL injections.</p>
|
||
</div>
|
||
</div></blockquote>
|
||
</section>
|
||
</section>
|
||
<section id="builder-orlike">
|
||
<h4>$builder->orLike()<a class="headerlink" href="#builder-orlike" title="Permalink to this headline"></a></h4>
|
||
<p>This method is identical to the one above, except that multiple
|
||
instances are joined by <strong>OR</strong>:</p>
|
||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">like</span><span class="p">(</span><span class="s1">'title'</span><span class="p">,</span> <span class="s1">'match'</span><span class="p">);</span>
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">orLike</span><span class="p">(</span><span class="s1">'body'</span><span class="p">,</span> <span class="nv">$match</span><span class="p">);</span>
|
||
<span class="c1">// WHERE `title` LIKE '%match%' ESCAPE '!' OR `body` LIKE '%match%' ESCAPE '!'</span>
|
||
</pre></div>
|
||
</div>
|
||
</section>
|
||
<section id="builder-notlike">
|
||
<h4>$builder->notLike()<a class="headerlink" href="#builder-notlike" title="Permalink to this headline"></a></h4>
|
||
<p>This method is identical to <code class="docutils literal notranslate"><span class="pre">like()</span></code>, except that it generates
|
||
<strong>NOT LIKE</strong> statements:</p>
|
||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">notLike</span><span class="p">(</span><span class="s1">'title'</span><span class="p">,</span> <span class="s1">'match'</span><span class="p">);</span> <span class="c1">// WHERE `title` NOT LIKE '%match% ESCAPE '!'</span>
|
||
</pre></div>
|
||
</div>
|
||
</section>
|
||
<section id="builder-ornotlike">
|
||
<h4>$builder->orNotLike()<a class="headerlink" href="#builder-ornotlike" title="Permalink to this headline"></a></h4>
|
||
<p>This method is identical to <code class="docutils literal notranslate"><span class="pre">notLike()</span></code>, except that multiple
|
||
instances are joined by <strong>OR</strong>:</p>
|
||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">like</span><span class="p">(</span><span class="s1">'title'</span><span class="p">,</span> <span class="s1">'match'</span><span class="p">);</span>
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">orNotLike</span><span class="p">(</span><span class="s1">'body'</span><span class="p">,</span> <span class="s1">'match'</span><span class="p">);</span>
|
||
<span class="c1">// WHERE `title` LIKE '%match% OR `body` NOT LIKE '%match%' ESCAPE '!'</span>
|
||
</pre></div>
|
||
</div>
|
||
</section>
|
||
<section id="builder-groupby">
|
||
<h4>$builder->groupBy()<a class="headerlink" href="#builder-groupby" title="Permalink to this headline"></a></h4>
|
||
<p>Permits you to write the <strong>GROUP BY</strong> portion of your query:</p>
|
||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">groupBy</span><span class="p">(</span><span class="s1">'title'</span><span class="p">);</span>
|
||
<span class="c1">// Produces: GROUP BY title</span>
|
||
</pre></div>
|
||
</div>
|
||
<p>You can also pass an array of multiple values as well:</p>
|
||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">groupBy</span><span class="p">([</span><span class="s1">'title'</span><span class="p">,</span> <span class="s1">'date'</span><span class="p">]);</span>
|
||
<span class="c1">// Produces: GROUP BY title, date</span>
|
||
</pre></div>
|
||
</div>
|
||
</section>
|
||
<section id="builder-distinct">
|
||
<h4>$builder->distinct()<a class="headerlink" href="#builder-distinct" title="Permalink to this headline"></a></h4>
|
||
<p>Adds the <strong>DISTINCT</strong> keyword to a query</p>
|
||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">distinct</span><span class="p">();</span>
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">get</span><span class="p">();</span>
|
||
<span class="c1">// Produces: SELECT DISTINCT * FROM mytable</span>
|
||
</pre></div>
|
||
</div>
|
||
</section>
|
||
<section id="builder-having">
|
||
<h4>$builder->having()<a class="headerlink" href="#builder-having" title="Permalink to this headline"></a></h4>
|
||
<p>Permits you to write the <strong>HAVING</strong> portion of your query. There are 2
|
||
possible syntaxes, 1 argument or 2:</p>
|
||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">having</span><span class="p">(</span><span class="s1">'user_id = 45'</span><span class="p">);</span> <span class="c1">// Produces: HAVING user_id = 45</span>
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">having</span><span class="p">(</span><span class="s1">'user_id'</span><span class="p">,</span> <span class="mi">45</span><span class="p">);</span> <span class="c1">// Produces: HAVING user_id = 45</span>
|
||
</pre></div>
|
||
</div>
|
||
<p>You can also pass an array of multiple values as well:</p>
|
||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">having</span><span class="p">([</span><span class="s1">'title ='</span> <span class="o">=></span> <span class="s1">'My Title'</span><span class="p">,</span> <span class="s1">'id <'</span> <span class="o">=></span> <span class="nv">$id</span><span class="p">]);</span>
|
||
<span class="c1">// Produces: HAVING title = 'My Title', id < 45</span>
|
||
</pre></div>
|
||
</div>
|
||
<p>If you are using a database that CodeIgniter escapes values for, you
|
||
can prevent escaping content by passing an optional third argument, and
|
||
setting it to <code class="docutils literal notranslate"><span class="pre">false</span></code>.</p>
|
||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">having</span><span class="p">(</span><span class="s1">'user_id'</span><span class="p">,</span> <span class="mi">45</span><span class="p">);</span> <span class="c1">// Produces: HAVING `user_id` = 45 in some databases such as MySQL</span>
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">having</span><span class="p">(</span><span class="s1">'user_id'</span><span class="p">,</span> <span class="mi">45</span><span class="p">,</span> <span class="k">false</span><span class="p">);</span> <span class="c1">// Produces: HAVING user_id = 45</span>
|
||
</pre></div>
|
||
</div>
|
||
</section>
|
||
<section id="builder-orhaving">
|
||
<h4>$builder->orHaving()<a class="headerlink" href="#builder-orhaving" title="Permalink to this headline"></a></h4>
|
||
<p>Identical to <code class="docutils literal notranslate"><span class="pre">having()</span></code>, only separates multiple clauses with <strong>OR</strong>.</p>
|
||
</section>
|
||
<section id="builder-havingin">
|
||
<h4>$builder->havingIn()<a class="headerlink" href="#builder-havingin" title="Permalink to this headline"></a></h4>
|
||
<p>Generates a <strong>HAVING field IN (‘item’, ‘item’)</strong> SQL query joined with <strong>AND</strong> if
|
||
appropriate:</p>
|
||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="nv">$groups</span> <span class="o">=</span> <span class="p">[</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">];</span>
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">havingIn</span><span class="p">(</span><span class="s1">'group_id'</span><span class="p">,</span> <span class="nv">$groups</span><span class="p">);</span>
|
||
<span class="c1">// Produces: HAVING group_id IN (1, 2, 3)</span>
|
||
</pre></div>
|
||
</div>
|
||
<p>You can use subqueries instead of an array of values:</p>
|
||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="c1">// With closure</span>
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">havingIn</span><span class="p">(</span><span class="s1">'id'</span><span class="p">,</span> <span class="k">static</span> <span class="nx">fn</span> <span class="p">(</span><span class="nx">BaseBuilder</span> <span class="nv">$builder</span><span class="p">)</span> <span class="o">=></span> <span class="nv">$builder</span><span class="o">-></span><span class="na">select</span><span class="p">(</span><span class="s1">'user_id'</span><span class="p">)</span><span class="o">-></span><span class="na">from</span><span class="p">(</span><span class="s1">'users_jobs'</span><span class="p">)</span><span class="o">-></span><span class="na">where</span><span class="p">(</span><span class="s1">'group_id'</span><span class="p">,</span> <span class="mi">3</span><span class="p">));</span>
|
||
<span class="c1">// Produces: HAVING "id" IN (SELECT "user_id" FROM "users_jobs" WHERE "group_id" = 3)</span>
|
||
|
||
<span class="c1">// With builder directly</span>
|
||
<span class="nv">$subQuery</span> <span class="o">=</span> <span class="nv">$db</span><span class="o">-></span><span class="na">table</span><span class="p">(</span><span class="s1">'users_jobs'</span><span class="p">)</span><span class="o">-></span><span class="na">select</span><span class="p">(</span><span class="s1">'user_id'</span><span class="p">)</span><span class="o">-></span><span class="na">where</span><span class="p">(</span><span class="s1">'group_id'</span><span class="p">,</span> <span class="mi">3</span><span class="p">);</span>
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">havingIn</span><span class="p">(</span><span class="s1">'id'</span><span class="p">,</span> <span class="nv">$subQuery</span><span class="p">);</span>
|
||
</pre></div>
|
||
</div>
|
||
</section>
|
||
<section id="builder-orhavingin">
|
||
<h4>$builder->orHavingIn()<a class="headerlink" href="#builder-orhavingin" title="Permalink to this headline"></a></h4>
|
||
<p>Generates a <strong>HAVING field IN (‘item’, ‘item’)</strong> SQL query joined with <strong>OR</strong> if
|
||
appropriate</p>
|
||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="nv">$groups</span> <span class="o">=</span> <span class="p">[</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">];</span>
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">orHavingIn</span><span class="p">(</span><span class="s1">'group_id'</span><span class="p">,</span> <span class="nv">$groups</span><span class="p">);</span>
|
||
<span class="c1">// Produces: OR group_id IN (1, 2, 3)</span>
|
||
</pre></div>
|
||
</div>
|
||
<p>You can use subqueries instead of an array of values:</p>
|
||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="c1">// With closure</span>
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">orHavingIn</span><span class="p">(</span><span class="s1">'id'</span><span class="p">,</span> <span class="k">static</span> <span class="nx">fn</span> <span class="p">(</span><span class="nx">BaseBuilder</span> <span class="nv">$builder</span><span class="p">)</span> <span class="o">=></span> <span class="nv">$builder</span><span class="o">-></span><span class="na">select</span><span class="p">(</span><span class="s1">'user_id'</span><span class="p">)</span><span class="o">-></span><span class="na">from</span><span class="p">(</span><span class="s1">'users_jobs'</span><span class="p">)</span><span class="o">-></span><span class="na">where</span><span class="p">(</span><span class="s1">'group_id'</span><span class="p">,</span> <span class="mi">3</span><span class="p">));</span>
|
||
<span class="c1">// Produces: OR "id" IN (SELECT "user_id" FROM "users_jobs" WHERE "group_id" = 3)</span>
|
||
|
||
<span class="c1">// With builder directly</span>
|
||
<span class="nv">$subQuery</span> <span class="o">=</span> <span class="nv">$db</span><span class="o">-></span><span class="na">table</span><span class="p">(</span><span class="s1">'users_jobs'</span><span class="p">)</span><span class="o">-></span><span class="na">select</span><span class="p">(</span><span class="s1">'user_id'</span><span class="p">)</span><span class="o">-></span><span class="na">where</span><span class="p">(</span><span class="s1">'group_id'</span><span class="p">,</span> <span class="mi">3</span><span class="p">);</span>
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">orHavingIn</span><span class="p">(</span><span class="s1">'id'</span><span class="p">,</span> <span class="nv">$subQuery</span><span class="p">);</span>
|
||
</pre></div>
|
||
</div>
|
||
</section>
|
||
<section id="builder-havingnotin">
|
||
<h4>$builder->havingNotIn()<a class="headerlink" href="#builder-havingnotin" title="Permalink to this headline"></a></h4>
|
||
<p>Generates a <strong>HAVING field NOT IN (‘item’, ‘item’)</strong> SQL query joined with
|
||
<strong>AND</strong> if appropriate</p>
|
||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="nv">$groups</span> <span class="o">=</span> <span class="p">[</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">];</span>
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">havingNotIn</span><span class="p">(</span><span class="s1">'group_id'</span><span class="p">,</span> <span class="nv">$groups</span><span class="p">);</span>
|
||
<span class="c1">// Produces: HAVING group_id NOT IN (1, 2, 3)</span>
|
||
</pre></div>
|
||
</div>
|
||
<p>You can use subqueries instead of an array of values:</p>
|
||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="c1">// With closure</span>
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">havingNotIn</span><span class="p">(</span><span class="s1">'id'</span><span class="p">,</span> <span class="k">static</span> <span class="nx">fn</span> <span class="p">(</span><span class="nx">BaseBuilder</span> <span class="nv">$builder</span><span class="p">)</span> <span class="o">=></span> <span class="nv">$builder</span><span class="o">-></span><span class="na">select</span><span class="p">(</span><span class="s1">'user_id'</span><span class="p">)</span><span class="o">-></span><span class="na">from</span><span class="p">(</span><span class="s1">'users_jobs'</span><span class="p">)</span><span class="o">-></span><span class="na">where</span><span class="p">(</span><span class="s1">'group_id'</span><span class="p">,</span> <span class="mi">3</span><span class="p">));</span>
|
||
<span class="c1">// Produces: HAVING "id" NOT IN (SELECT "user_id" FROM "users_jobs" WHERE "group_id" = 3)</span>
|
||
|
||
<span class="c1">// With builder directly</span>
|
||
<span class="nv">$subQuery</span> <span class="o">=</span> <span class="nv">$db</span><span class="o">-></span><span class="na">table</span><span class="p">(</span><span class="s1">'users_jobs'</span><span class="p">)</span><span class="o">-></span><span class="na">select</span><span class="p">(</span><span class="s1">'user_id'</span><span class="p">)</span><span class="o">-></span><span class="na">where</span><span class="p">(</span><span class="s1">'group_id'</span><span class="p">,</span> <span class="mi">3</span><span class="p">);</span>
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">havingNotIn</span><span class="p">(</span><span class="s1">'id'</span><span class="p">,</span> <span class="nv">$subQuery</span><span class="p">);</span>
|
||
</pre></div>
|
||
</div>
|
||
</section>
|
||
<section id="builder-orhavingnotin">
|
||
<h4>$builder->orHavingNotIn()<a class="headerlink" href="#builder-orhavingnotin" title="Permalink to this headline"></a></h4>
|
||
<p>Generates a <strong>HAVING field NOT IN (‘item’, ‘item’)</strong> SQL query joined with <strong>OR</strong>
|
||
if appropriate</p>
|
||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="nv">$groups</span> <span class="o">=</span> <span class="p">[</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">];</span>
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">havingNotIn</span><span class="p">(</span><span class="s1">'group_id'</span><span class="p">,</span> <span class="nv">$groups</span><span class="p">);</span>
|
||
<span class="c1">// Produces: OR group_id NOT IN (1, 2, 3)</span>
|
||
</pre></div>
|
||
</div>
|
||
<p>You can use subqueries instead of an array of values:</p>
|
||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="c1">// With closure</span>
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">orHavingNotIn</span><span class="p">(</span><span class="s1">'id'</span><span class="p">,</span> <span class="k">static</span> <span class="nx">fn</span> <span class="p">(</span><span class="nx">BaseBuilder</span> <span class="nv">$builder</span><span class="p">)</span> <span class="o">=></span> <span class="nv">$builder</span><span class="o">-></span><span class="na">select</span><span class="p">(</span><span class="s1">'user_id'</span><span class="p">)</span><span class="o">-></span><span class="na">from</span><span class="p">(</span><span class="s1">'users_jobs'</span><span class="p">)</span><span class="o">-></span><span class="na">where</span><span class="p">(</span><span class="s1">'group_id'</span><span class="p">,</span> <span class="mi">3</span><span class="p">));</span>
|
||
<span class="c1">// Produces: OR "id" NOT IN (SELECT "user_id" FROM "users_jobs" WHERE "group_id" = 3)</span>
|
||
|
||
<span class="c1">// With builder directly</span>
|
||
<span class="nv">$subQuery</span> <span class="o">=</span> <span class="nv">$db</span><span class="o">-></span><span class="na">table</span><span class="p">(</span><span class="s1">'users_jobs'</span><span class="p">)</span><span class="o">-></span><span class="na">select</span><span class="p">(</span><span class="s1">'user_id'</span><span class="p">)</span><span class="o">-></span><span class="na">where</span><span class="p">(</span><span class="s1">'group_id'</span><span class="p">,</span> <span class="mi">3</span><span class="p">);</span>
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">orHavingNotIn</span><span class="p">(</span><span class="s1">'id'</span><span class="p">,</span> <span class="nv">$subQuery</span><span class="p">);</span>
|
||
</pre></div>
|
||
</div>
|
||
</section>
|
||
<section id="builder-havinglike">
|
||
<h4>$builder->havingLike()<a class="headerlink" href="#builder-havinglike" title="Permalink to this headline"></a></h4>
|
||
<p>This method enables you to generate <strong>LIKE</strong> clauses for <strong>HAVING</strong> part or the query, useful for doing
|
||
searches.</p>
|
||
<div class="admonition note">
|
||
<p class="admonition-title">Note</p>
|
||
<p>All values passed to this method are escaped automatically.</p>
|
||
</div>
|
||
<div class="admonition note">
|
||
<p class="admonition-title">Note</p>
|
||
<p>All <code class="docutils literal notranslate"><span class="pre">havingLike*()</span></code> method variations can be forced to perform case-insensitive searches by passing
|
||
a fifth parameter of <code class="docutils literal notranslate"><span class="pre">true</span></code> to the method. This will use platform-specific features where available
|
||
otherwise, will force the values to be lowercase, i.e., <code class="docutils literal notranslate"><span class="pre">HAVING</span> <span class="pre">LOWER(column)</span> <span class="pre">LIKE</span> <span class="pre">'%search%'</span></code>. This
|
||
may require indexes to be made for <code class="docutils literal notranslate"><span class="pre">LOWER(column)</span></code> instead of <code class="docutils literal notranslate"><span class="pre">column</span></code> to be effective.</p>
|
||
</div>
|
||
<section id="id7">
|
||
<h5>1. Simple key/value method<a class="headerlink" href="#id7" title="Permalink to this headline"></a></h5>
|
||
<blockquote>
|
||
<div><div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">havingLike</span><span class="p">(</span><span class="s1">'title'</span><span class="p">,</span> <span class="s1">'match'</span><span class="p">);</span>
|
||
<span class="c1">// Produces: HAVING `title` LIKE '%match%' ESCAPE '!'</span>
|
||
</pre></div>
|
||
</div>
|
||
<p>If you use multiple method calls they will be chained together with
|
||
<strong>AND</strong> between them:</p>
|
||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">havingLike</span><span class="p">(</span><span class="s1">'title'</span><span class="p">,</span> <span class="s1">'match'</span><span class="p">);</span>
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">havingLike</span><span class="p">(</span><span class="s1">'body'</span><span class="p">,</span> <span class="s1">'match'</span><span class="p">);</span>
|
||
<span class="c1">// HAVING `title` LIKE '%match%' ESCAPE '!' AND `body` LIKE '%match% ESCAPE '!'</span>
|
||
</pre></div>
|
||
</div>
|
||
<p>If you want to control where the wildcard (<strong>%</strong>) is placed, you can use
|
||
an optional third argument. Your options are <code class="docutils literal notranslate"><span class="pre">before</span></code>, <code class="docutils literal notranslate"><span class="pre">after</span></code> and
|
||
<code class="docutils literal notranslate"><span class="pre">both</span></code> (which is the default).</p>
|
||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">havingLike</span><span class="p">(</span><span class="s1">'title'</span><span class="p">,</span> <span class="s1">'match'</span><span class="p">,</span> <span class="s1">'before'</span><span class="p">);</span> <span class="c1">// Produces: HAVING `title` LIKE '%match' ESCAPE '!'</span>
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">havingLike</span><span class="p">(</span><span class="s1">'title'</span><span class="p">,</span> <span class="s1">'match'</span><span class="p">,</span> <span class="s1">'after'</span><span class="p">);</span> <span class="c1">// Produces: HAVING `title` LIKE 'match%' ESCAPE '!'</span>
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">havingLike</span><span class="p">(</span><span class="s1">'title'</span><span class="p">,</span> <span class="s1">'match'</span><span class="p">,</span> <span class="s1">'both'</span><span class="p">);</span> <span class="c1">// Produces: HAVING `title` LIKE '%match%' ESCAPE '!'</span>
|
||
</pre></div>
|
||
</div>
|
||
</div></blockquote>
|
||
</section>
|
||
<section id="id8">
|
||
<h5>2. Associative array method<a class="headerlink" href="#id8" title="Permalink to this headline"></a></h5>
|
||
<blockquote>
|
||
<div><div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="nv">$array</span> <span class="o">=</span> <span class="p">[</span><span class="s1">'title'</span> <span class="o">=></span> <span class="nv">$match</span><span class="p">,</span> <span class="s1">'page1'</span> <span class="o">=></span> <span class="nv">$match</span><span class="p">,</span> <span class="s1">'page2'</span> <span class="o">=></span> <span class="nv">$match</span><span class="p">];</span>
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">havingLike</span><span class="p">(</span><span class="nv">$array</span><span class="p">);</span>
|
||
<span class="c1">// HAVING `title` LIKE '%match%' ESCAPE '!' AND `page1` LIKE '%match%' ESCAPE '!' AND `page2` LIKE '%match%' ESCAPE '!'</span>
|
||
</pre></div>
|
||
</div>
|
||
</div></blockquote>
|
||
</section>
|
||
</section>
|
||
<section id="builder-orhavinglike">
|
||
<h4>$builder->orHavingLike()<a class="headerlink" href="#builder-orhavinglike" title="Permalink to this headline"></a></h4>
|
||
<p>This method is identical to the one above, except that multiple
|
||
instances are joined by <strong>OR</strong>:</p>
|
||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">havingLike</span><span class="p">(</span><span class="s1">'title'</span><span class="p">,</span> <span class="s1">'match'</span><span class="p">);</span>
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">orHavingLike</span><span class="p">(</span><span class="s1">'body'</span><span class="p">,</span> <span class="nv">$match</span><span class="p">);</span>
|
||
<span class="c1">// HAVING `title` LIKE '%match%' ESCAPE '!' OR `body` LIKE '%match%' ESCAPE '!'</span>
|
||
</pre></div>
|
||
</div>
|
||
</section>
|
||
<section id="builder-nothavinglike">
|
||
<h4>$builder->notHavingLike()<a class="headerlink" href="#builder-nothavinglike" title="Permalink to this headline"></a></h4>
|
||
<p>This method is identical to <code class="docutils literal notranslate"><span class="pre">havingLike()</span></code>, except that it generates
|
||
<strong>NOT LIKE</strong> statements:</p>
|
||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">notHavingLike</span><span class="p">(</span><span class="s1">'title'</span><span class="p">,</span> <span class="s1">'match'</span><span class="p">);</span>
|
||
<span class="c1">// HAVING `title` NOT LIKE '%match% ESCAPE '!'</span>
|
||
</pre></div>
|
||
</div>
|
||
</section>
|
||
<section id="builder-ornothavinglike">
|
||
<h4>$builder->orNotHavingLike()<a class="headerlink" href="#builder-ornothavinglike" title="Permalink to this headline"></a></h4>
|
||
<p>This method is identical to <code class="docutils literal notranslate"><span class="pre">notHavingLike()</span></code>, except that multiple
|
||
instances are joined by <strong>OR</strong>:</p>
|
||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">havingLike</span><span class="p">(</span><span class="s1">'title'</span><span class="p">,</span> <span class="s1">'match'</span><span class="p">);</span>
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">orNotHavingLike</span><span class="p">(</span><span class="s1">'body'</span><span class="p">,</span> <span class="s1">'match'</span><span class="p">);</span>
|
||
<span class="c1">// HAVING `title` LIKE '%match% OR `body` NOT LIKE '%match%' ESCAPE '!'</span>
|
||
</pre></div>
|
||
</div>
|
||
</section>
|
||
</section>
|
||
</section>
|
||
<section id="ordering-results">
|
||
<h2><a class="toc-backref" href="#id21">Ordering Results</a><a class="headerlink" href="#ordering-results" title="Permalink to this headline"></a></h2>
|
||
<section id="orderby">
|
||
<h3><a class="toc-backref" href="#id22">OrderBy</a><a class="headerlink" href="#orderby" title="Permalink to this headline"></a></h3>
|
||
<section id="builder-orderby">
|
||
<h4>$builder->orderBy()<a class="headerlink" href="#builder-orderby" title="Permalink to this headline"></a></h4>
|
||
<p>Lets you set an <strong>ORDER BY</strong> clause.</p>
|
||
<p>The first parameter contains the name of the column you would like to order by.</p>
|
||
<p>The second parameter lets you set the direction of the result.
|
||
Options are <code class="docutils literal notranslate"><span class="pre">ASC</span></code>, <code class="docutils literal notranslate"><span class="pre">DESC</span></code> AND <code class="docutils literal notranslate"><span class="pre">RANDOM</span></code>.</p>
|
||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">orderBy</span><span class="p">(</span><span class="s1">'title'</span><span class="p">,</span> <span class="s1">'DESC'</span><span class="p">);</span>
|
||
<span class="c1">// Produces: ORDER BY `title` DESC</span>
|
||
</pre></div>
|
||
</div>
|
||
<p>You can also pass your own string in the first parameter:</p>
|
||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">orderBy</span><span class="p">(</span><span class="s1">'title DESC, name ASC'</span><span class="p">);</span>
|
||
<span class="c1">// Produces: ORDER BY `title` DESC, `name` ASC</span>
|
||
</pre></div>
|
||
</div>
|
||
<p>Or multiple method calls can be made if you need multiple fields.</p>
|
||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">orderBy</span><span class="p">(</span><span class="s1">'title'</span><span class="p">,</span> <span class="s1">'DESC'</span><span class="p">);</span>
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">orderBy</span><span class="p">(</span><span class="s1">'name'</span><span class="p">,</span> <span class="s1">'ASC'</span><span class="p">);</span>
|
||
<span class="c1">// Produces: ORDER BY `title` DESC, `name` ASC</span>
|
||
</pre></div>
|
||
</div>
|
||
<p>If you choose the <code class="docutils literal notranslate"><span class="pre">RANDOM</span></code> direction option, then the first parameters will
|
||
be ignored, unless you specify a numeric seed value.</p>
|
||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">orderBy</span><span class="p">(</span><span class="s1">'title'</span><span class="p">,</span> <span class="s1">'RANDOM'</span><span class="p">);</span>
|
||
<span class="c1">// Produces: ORDER BY RAND()</span>
|
||
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">orderBy</span><span class="p">(</span><span class="mi">42</span><span class="p">,</span> <span class="s1">'RANDOM'</span><span class="p">);</span>
|
||
<span class="c1">// Produces: ORDER BY RAND(42)</span>
|
||
</pre></div>
|
||
</div>
|
||
</section>
|
||
</section>
|
||
</section>
|
||
<section id="limiting-or-counting-results">
|
||
<h2><a class="toc-backref" href="#id23">Limiting or Counting Results</a><a class="headerlink" href="#limiting-or-counting-results" title="Permalink to this headline"></a></h2>
|
||
<section id="limit">
|
||
<h3><a class="toc-backref" href="#id24">Limit</a><a class="headerlink" href="#limit" title="Permalink to this headline"></a></h3>
|
||
<section id="builder-limit">
|
||
<h4>$builder->limit()<a class="headerlink" href="#builder-limit" title="Permalink to this headline"></a></h4>
|
||
<p>Lets you limit the number of rows you would like returned by the query:</p>
|
||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">limit</span><span class="p">(</span><span class="mi">10</span><span class="p">);</span>
|
||
<span class="c1">// Produces: LIMIT 10</span>
|
||
</pre></div>
|
||
</div>
|
||
<p>The second parameter lets you set a result offset.</p>
|
||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">limit</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span> <span class="mi">20</span><span class="p">);</span>
|
||
<span class="c1">// Produces: LIMIT 20, 10 (in MySQL. Other databases have slightly different syntax)</span>
|
||
</pre></div>
|
||
</div>
|
||
</section>
|
||
<section id="builder-countallresults">
|
||
<h4>$builder->countAllResults()<a class="headerlink" href="#builder-countallresults" title="Permalink to this headline"></a></h4>
|
||
<p>Permits you to determine the number of rows in a particular Query
|
||
Builder query. Queries will accept Query Builder restrictors such as
|
||
<code class="docutils literal notranslate"><span class="pre">where()</span></code>, <code class="docutils literal notranslate"><span class="pre">orWhere()</span></code>, <code class="docutils literal notranslate"><span class="pre">like()</span></code>, <code class="docutils literal notranslate"><span class="pre">orLike()</span></code>, etc. Example:</p>
|
||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="k">echo</span> <span class="nv">$builder</span><span class="o">-></span><span class="na">countAllResults</span><span class="p">();</span> <span class="c1">// Produces an integer, like 25</span>
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">like</span><span class="p">(</span><span class="s1">'title'</span><span class="p">,</span> <span class="s1">'match'</span><span class="p">);</span>
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">from</span><span class="p">(</span><span class="s1">'my_table'</span><span class="p">);</span>
|
||
<span class="k">echo</span> <span class="nv">$builder</span><span class="o">-></span><span class="na">countAllResults</span><span class="p">();</span> <span class="c1">// Produces an integer, like 17</span>
|
||
</pre></div>
|
||
</div>
|
||
<p>However, this method also resets any field values that you may have passed
|
||
to <code class="docutils literal notranslate"><span class="pre">select()</span></code>. If you need to keep them, you can pass <code class="docutils literal notranslate"><span class="pre">false</span></code> as the
|
||
first parameter.</p>
|
||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="k">echo</span> <span class="nv">$builder</span><span class="o">-></span><span class="na">countAllResults</span><span class="p">(</span><span class="k">false</span><span class="p">);</span> <span class="c1">// Produces an integer, like 17</span>
|
||
</pre></div>
|
||
</div>
|
||
</section>
|
||
<section id="builder-countall">
|
||
<h4>$builder->countAll()<a class="headerlink" href="#builder-countall" title="Permalink to this headline"></a></h4>
|
||
<p>Permits you to determine the number of rows in a particular table.
|
||
Example:</p>
|
||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="k">echo</span> <span class="nv">$builder</span><span class="o">-></span><span class="na">countAll</span><span class="p">();</span> <span class="c1">// Produces an integer, like 25</span>
|
||
</pre></div>
|
||
</div>
|
||
<p>As is in <code class="docutils literal notranslate"><span class="pre">countAllResult()</span></code> method, this method resets any field values that you may have passed
|
||
to <code class="docutils literal notranslate"><span class="pre">select()</span></code> as well. If you need to keep them, you can pass <code class="docutils literal notranslate"><span class="pre">false</span></code> as the
|
||
first parameter.</p>
|
||
</section>
|
||
</section>
|
||
</section>
|
||
<section id="union-queries">
|
||
<span id="query-builder-union"></span><h2><a class="toc-backref" href="#id25">Union queries</a><a class="headerlink" href="#union-queries" title="Permalink to this headline"></a></h2>
|
||
<section id="union">
|
||
<h3><a class="toc-backref" href="#id26">Union</a><a class="headerlink" href="#union" title="Permalink to this headline"></a></h3>
|
||
<section id="builder-union">
|
||
<h4>$builder->union()<a class="headerlink" href="#builder-union" title="Permalink to this headline"></a></h4>
|
||
<p>Is used to combine the result-set of two or more SELECT statements. It will return only the unique results.</p>
|
||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="nv">$builder</span> <span class="o">=</span> <span class="nv">$db</span><span class="o">-></span><span class="na">table</span><span class="p">(</span><span class="s1">'users'</span><span class="p">)</span><span class="o">-></span><span class="na">select</span><span class="p">(</span><span class="s1">'id, name'</span><span class="p">)</span><span class="o">-></span><span class="na">limit</span><span class="p">(</span><span class="mi">10</span><span class="p">);</span>
|
||
<span class="nv">$union</span> <span class="o">=</span> <span class="nv">$db</span><span class="o">-></span><span class="na">table</span><span class="p">(</span><span class="s1">'groups'</span><span class="p">)</span><span class="o">-></span><span class="na">select</span><span class="p">(</span><span class="s1">'id, name'</span><span class="p">);</span>
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">union</span><span class="p">(</span><span class="nv">$union</span><span class="p">)</span><span class="o">-></span><span class="na">get</span><span class="p">();</span>
|
||
<span class="cm">/*</span>
|
||
<span class="cm"> * Produces:</span>
|
||
<span class="cm"> * SELECT * FROM (SELECT `id`, `name` FROM `users` LIMIT 10) uwrp0</span>
|
||
<span class="cm"> * UNION SELECT * FROM (SELECT `id`, `name` FROM `groups`) uwrp1</span>
|
||
<span class="cm"> */</span>
|
||
</pre></div>
|
||
</div>
|
||
<div class="admonition note">
|
||
<p class="admonition-title">Note</p>
|
||
<p>For correct work with DBMS (such as MSSQL and Oracle) queries are wrapped in <code class="docutils literal notranslate"><span class="pre">SELECT</span> <span class="pre">*</span> <span class="pre">FROM</span> <span class="pre">(</span> <span class="pre">...</span> <span class="pre">)</span> <span class="pre">alias</span></code>
|
||
The main query will always have an alias of <code class="docutils literal notranslate"><span class="pre">uwrp0</span></code>. Each subsequent query added via <code class="docutils literal notranslate"><span class="pre">union()</span></code> will have an
|
||
alias <code class="docutils literal notranslate"><span class="pre">uwrpN+1</span></code>.</p>
|
||
</div>
|
||
<p>All union queries will be added after the main query, regardless of the order in which the <code class="docutils literal notranslate"><span class="pre">union()</span></code> method was
|
||
called. That is, the <code class="docutils literal notranslate"><span class="pre">limit()</span></code> or <code class="docutils literal notranslate"><span class="pre">orderBy()</span></code> methods will be relative to the main query, even if called after
|
||
<code class="docutils literal notranslate"><span class="pre">union()</span></code>.</p>
|
||
<p>In some cases, it may be necessary, for example, to sort or limit the number of records of the query result.
|
||
The solution is to use the wrapper created via <code class="docutils literal notranslate"><span class="pre">$db->newQuery()</span></code>.
|
||
In the example below, we get the first 5 users + the last 5 users and sort the result by id:</p>
|
||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="nv">$union</span> <span class="o">=</span> <span class="nv">$db</span><span class="o">-></span><span class="na">table</span><span class="p">(</span><span class="s1">'users'</span><span class="p">)</span><span class="o">-></span><span class="na">select</span><span class="p">(</span><span class="s1">'id, name'</span><span class="p">)</span><span class="o">-></span><span class="na">orderBy</span><span class="p">(</span><span class="s1">'id'</span><span class="p">,</span> <span class="s1">'DESC'</span><span class="p">)</span><span class="o">-></span><span class="na">limit</span><span class="p">(</span><span class="mi">5</span><span class="p">);</span>
|
||
<span class="nv">$builder</span> <span class="o">=</span> <span class="nv">$db</span><span class="o">-></span><span class="na">table</span><span class="p">(</span><span class="s1">'users'</span><span class="p">)</span><span class="o">-></span><span class="na">select</span><span class="p">(</span><span class="s1">'id, name'</span><span class="p">)</span><span class="o">-></span><span class="na">orderBy</span><span class="p">(</span><span class="s1">'id'</span><span class="p">,</span> <span class="s1">'ASC'</span><span class="p">)</span><span class="o">-></span><span class="na">limit</span><span class="p">(</span><span class="mi">5</span><span class="p">)</span><span class="o">-></span><span class="na">union</span><span class="p">(</span><span class="nv">$union</span><span class="p">);</span>
|
||
|
||
<span class="nv">$db</span><span class="o">-></span><span class="na">newQuery</span><span class="p">()</span><span class="o">-></span><span class="na">fromSubquery</span><span class="p">(</span><span class="nv">$builder</span><span class="p">,</span> <span class="s1">'q'</span><span class="p">)</span><span class="o">-></span><span class="na">orderBy</span><span class="p">(</span><span class="s1">'id'</span><span class="p">,</span> <span class="s1">'DESC'</span><span class="p">)</span><span class="o">-></span><span class="na">get</span><span class="p">();</span>
|
||
<span class="cm">/*</span>
|
||
<span class="cm"> * Produces:</span>
|
||
<span class="cm"> * SELECT * FROM (</span>
|
||
<span class="cm"> * SELECT * FROM (SELECT `id`, `name` FROM `users` ORDER BY `id` ASC LIMIT 5) uwrp0</span>
|
||
<span class="cm"> * UNION</span>
|
||
<span class="cm"> * SELECT * FROM (SELECT `id`, `name` FROM `users` ORDER BY `id` DESC LIMIT 5) uwrp1</span>
|
||
<span class="cm"> * ) q ORDER BY `id` DESC</span>
|
||
<span class="cm"> */</span>
|
||
</pre></div>
|
||
</div>
|
||
</section>
|
||
<section id="builder-unionall">
|
||
<h4>$builder->unionAll()<a class="headerlink" href="#builder-unionall" title="Permalink to this headline"></a></h4>
|
||
<p>The behavior is the same as the <code class="docutils literal notranslate"><span class="pre">union()</span></code> method. However, all results will be returned, not just the unique ones.</p>
|
||
</section>
|
||
</section>
|
||
</section>
|
||
<section id="query-grouping">
|
||
<h2><a class="toc-backref" href="#id27">Query grouping</a><a class="headerlink" href="#query-grouping" title="Permalink to this headline"></a></h2>
|
||
<section id="group">
|
||
<h3><a class="toc-backref" href="#id28">Group</a><a class="headerlink" href="#group" title="Permalink to this headline"></a></h3>
|
||
<p>Query grouping allows you to create groups of <strong>WHERE</strong> clauses by enclosing them in parentheses. This will allow
|
||
you to create queries with complex <strong>WHERE</strong> clauses. Nested groups are supported. Example:</p>
|
||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">select</span><span class="p">(</span><span class="s1">'*'</span><span class="p">)</span><span class="o">-></span><span class="na">from</span><span class="p">(</span><span class="s1">'my_table'</span><span class="p">)</span>
|
||
<span class="o">-></span><span class="na">groupStart</span><span class="p">()</span>
|
||
<span class="o">-></span><span class="na">where</span><span class="p">(</span><span class="s1">'a'</span><span class="p">,</span> <span class="s1">'a'</span><span class="p">)</span>
|
||
<span class="o">-></span><span class="na">orGroupStart</span><span class="p">()</span>
|
||
<span class="o">-></span><span class="na">where</span><span class="p">(</span><span class="s1">'b'</span><span class="p">,</span> <span class="s1">'b'</span><span class="p">)</span>
|
||
<span class="o">-></span><span class="na">where</span><span class="p">(</span><span class="s1">'c'</span><span class="p">,</span> <span class="s1">'c'</span><span class="p">)</span>
|
||
<span class="o">-></span><span class="na">groupEnd</span><span class="p">()</span>
|
||
<span class="o">-></span><span class="na">groupEnd</span><span class="p">()</span>
|
||
<span class="o">-></span><span class="na">where</span><span class="p">(</span><span class="s1">'d'</span><span class="p">,</span> <span class="s1">'d'</span><span class="p">)</span>
|
||
<span class="o">-></span><span class="na">get</span><span class="p">();</span>
|
||
<span class="cm">/*</span>
|
||
<span class="cm"> * Generates:</span>
|
||
<span class="cm"> * SELECT * FROM (`my_table`) WHERE ( `a` = 'a' OR ( `b` = 'b' AND `c` = 'c' ) ) AND `d` = 'd'</span>
|
||
<span class="cm"> */</span>
|
||
</pre></div>
|
||
</div>
|
||
<div class="admonition note">
|
||
<p class="admonition-title">Note</p>
|
||
<p>Groups need to be balanced, make sure every <code class="docutils literal notranslate"><span class="pre">groupStart()</span></code> is matched by a <code class="docutils literal notranslate"><span class="pre">groupEnd()</span></code>.</p>
|
||
</div>
|
||
<section id="builder-groupstart">
|
||
<h4>$builder->groupStart()<a class="headerlink" href="#builder-groupstart" title="Permalink to this headline"></a></h4>
|
||
<p>Starts a new group by adding an opening parenthesis to the <strong>WHERE</strong> clause of the query.</p>
|
||
</section>
|
||
<section id="builder-orgroupstart">
|
||
<h4>$builder->orGroupStart()<a class="headerlink" href="#builder-orgroupstart" title="Permalink to this headline"></a></h4>
|
||
<p>Starts a new group by adding an opening parenthesis to the <strong>WHERE</strong> clause of the query, prefixing it with <strong>OR</strong>.</p>
|
||
</section>
|
||
<section id="builder-notgroupstart">
|
||
<h4>$builder->notGroupStart()<a class="headerlink" href="#builder-notgroupstart" title="Permalink to this headline"></a></h4>
|
||
<p>Starts a new group by adding an opening parenthesis to the <strong>WHERE</strong> clause of the query, prefixing it with <strong>NOT</strong>.</p>
|
||
</section>
|
||
<section id="builder-ornotgroupstart">
|
||
<h4>$builder->orNotGroupStart()<a class="headerlink" href="#builder-ornotgroupstart" title="Permalink to this headline"></a></h4>
|
||
<p>Starts a new group by adding an opening parenthesis to the <strong>WHERE</strong> clause of the query, prefixing it with <strong>OR NOT</strong>.</p>
|
||
</section>
|
||
<section id="builder-groupend">
|
||
<h4>$builder->groupEnd()<a class="headerlink" href="#builder-groupend" title="Permalink to this headline"></a></h4>
|
||
<p>Ends the current group by adding a closing parenthesis to the <strong>WHERE</strong> clause of the query.</p>
|
||
</section>
|
||
<section id="builder-havinggroupstart">
|
||
<h4>$builder->havingGroupStart()<a class="headerlink" href="#builder-havinggroupstart" title="Permalink to this headline"></a></h4>
|
||
<p>Starts a new group by adding an opening parenthesis to the <strong>HAVING</strong> clause of the query.</p>
|
||
</section>
|
||
<section id="builder-orhavinggroupstart">
|
||
<h4>$builder->orHavingGroupStart()<a class="headerlink" href="#builder-orhavinggroupstart" title="Permalink to this headline"></a></h4>
|
||
<p>Starts a new group by adding an opening parenthesis to the <strong>HAVING</strong> clause of the query, prefixing it with <strong>OR</strong>.</p>
|
||
</section>
|
||
<section id="builder-nothavinggroupstart">
|
||
<h4>$builder->notHavingGroupStart()<a class="headerlink" href="#builder-nothavinggroupstart" title="Permalink to this headline"></a></h4>
|
||
<p>Starts a new group by adding an opening parenthesis to the <strong>HAVING</strong> clause of the query, prefixing it with <strong>NOT</strong>.</p>
|
||
</section>
|
||
<section id="builder-ornothavinggroupstart">
|
||
<h4>$builder->orNotHavingGroupStart()<a class="headerlink" href="#builder-ornothavinggroupstart" title="Permalink to this headline"></a></h4>
|
||
<p>Starts a new group by adding an opening parenthesis to the <strong>HAVING</strong> clause of the query, prefixing it with <strong>OR NOT</strong>.</p>
|
||
</section>
|
||
<section id="builder-havinggroupend">
|
||
<h4>$builder->havingGroupEnd()<a class="headerlink" href="#builder-havinggroupend" title="Permalink to this headline"></a></h4>
|
||
<p>Ends the current group by adding a closing parenthesis to the <strong>HAVING</strong> clause of the query.</p>
|
||
</section>
|
||
</section>
|
||
</section>
|
||
<section id="inserting-data">
|
||
<h2><a class="toc-backref" href="#id29">Inserting Data</a><a class="headerlink" href="#inserting-data" title="Permalink to this headline"></a></h2>
|
||
<section id="insert">
|
||
<h3><a class="toc-backref" href="#id30">Insert</a><a class="headerlink" href="#insert" title="Permalink to this headline"></a></h3>
|
||
<section id="builder-insert">
|
||
<h4>$builder->insert()<a class="headerlink" href="#builder-insert" title="Permalink to this headline"></a></h4>
|
||
<p>Generates an insert string based on the data you supply, and runs the
|
||
query. You can either pass an <strong>array</strong> or an <strong>object</strong> to the
|
||
method. Here is an example using an array:</p>
|
||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="nv">$data</span> <span class="o">=</span> <span class="p">[</span>
|
||
<span class="s1">'title'</span> <span class="o">=></span> <span class="s1">'My title'</span><span class="p">,</span>
|
||
<span class="s1">'name'</span> <span class="o">=></span> <span class="s1">'My Name'</span><span class="p">,</span>
|
||
<span class="s1">'date'</span> <span class="o">=></span> <span class="s1">'My date'</span><span class="p">,</span>
|
||
<span class="p">];</span>
|
||
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">insert</span><span class="p">(</span><span class="nv">$data</span><span class="p">);</span>
|
||
<span class="c1">// Produces: INSERT INTO mytable (title, name, date) VALUES ('My title', 'My name', 'My date')</span>
|
||
</pre></div>
|
||
</div>
|
||
<p>The first parameter is an associative array of values.</p>
|
||
<p>Here is an example using an object:</p>
|
||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="k">class</span> <span class="nc">Myclass</span>
|
||
<span class="p">{</span>
|
||
<span class="k">public</span> <span class="nv">$title</span> <span class="o">=</span> <span class="s1">'My Title'</span><span class="p">;</span>
|
||
<span class="k">public</span> <span class="nv">$content</span> <span class="o">=</span> <span class="s1">'My Content'</span><span class="p">;</span>
|
||
<span class="k">public</span> <span class="nv">$date</span> <span class="o">=</span> <span class="s1">'My Date'</span><span class="p">;</span>
|
||
<span class="p">}</span>
|
||
|
||
<span class="nv">$object</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">Myclass</span><span class="p">();</span>
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">insert</span><span class="p">(</span><span class="nv">$object</span><span class="p">);</span>
|
||
<span class="c1">// Produces: INSERT INTO mytable (title, content, date) VALUES ('My Title', 'My Content', 'My Date')</span>
|
||
</pre></div>
|
||
</div>
|
||
<p>The first parameter is an object.</p>
|
||
<div class="admonition note">
|
||
<p class="admonition-title">Note</p>
|
||
<p>All values are escaped automatically producing safer queries.</p>
|
||
</div>
|
||
</section>
|
||
<section id="builder-ignore">
|
||
<h4>$builder->ignore()<a class="headerlink" href="#builder-ignore" title="Permalink to this headline"></a></h4>
|
||
<p>Generates an insert ignore string based on the data you supply, and runs the
|
||
query. So if an entry with the same primary key already exists, the query won’t be inserted.
|
||
You can optionally pass an <strong>boolean</strong> to the method. Can also be used on <strong>insertBatch</strong>, <strong>update</strong> and <strong>delete</strong> (when supported).
|
||
Here is an example using the array of the above example:</p>
|
||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="nv">$data</span> <span class="o">=</span> <span class="p">[</span>
|
||
<span class="s1">'title'</span> <span class="o">=></span> <span class="s1">'My title'</span><span class="p">,</span>
|
||
<span class="s1">'name'</span> <span class="o">=></span> <span class="s1">'My Name'</span><span class="p">,</span>
|
||
<span class="s1">'date'</span> <span class="o">=></span> <span class="s1">'My date'</span><span class="p">,</span>
|
||
<span class="p">];</span>
|
||
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">ignore</span><span class="p">(</span><span class="k">true</span><span class="p">)</span><span class="o">-></span><span class="na">insert</span><span class="p">(</span><span class="nv">$data</span><span class="p">);</span>
|
||
<span class="c1">// Produces: INSERT OR IGNORE INTO mytable (title, name, date) VALUES ('My title', 'My name', 'My date')</span>
|
||
</pre></div>
|
||
</div>
|
||
</section>
|
||
<section id="builder-getcompiledinsert">
|
||
<h4>$builder->getCompiledInsert()<a class="headerlink" href="#builder-getcompiledinsert" title="Permalink to this headline"></a></h4>
|
||
<p>Compiles the insertion query just like <code class="docutils literal notranslate"><span class="pre">$builder->insert()</span></code> but does not
|
||
<em>run</em> the query. This method simply returns the SQL query as a string.</p>
|
||
<p>Example:</p>
|
||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="nv">$data</span> <span class="o">=</span> <span class="p">[</span>
|
||
<span class="s1">'title'</span> <span class="o">=></span> <span class="s1">'My title'</span><span class="p">,</span>
|
||
<span class="s1">'name'</span> <span class="o">=></span> <span class="s1">'My Name'</span><span class="p">,</span>
|
||
<span class="s1">'date'</span> <span class="o">=></span> <span class="s1">'My date'</span><span class="p">,</span>
|
||
<span class="p">];</span>
|
||
|
||
<span class="nv">$sql</span> <span class="o">=</span> <span class="nv">$builder</span><span class="o">-></span><span class="na">set</span><span class="p">(</span><span class="nv">$data</span><span class="p">)</span><span class="o">-></span><span class="na">getCompiledInsert</span><span class="p">();</span>
|
||
<span class="k">echo</span> <span class="nv">$sql</span><span class="p">;</span>
|
||
<span class="c1">// Produces string: INSERT INTO mytable (`title`, `name`, `date`) VALUES ('My title', 'My name', 'My date')</span>
|
||
</pre></div>
|
||
</div>
|
||
<p>The first parameter enables you to set whether or not the query builder query
|
||
will be reset (by default it will be–just like <code class="docutils literal notranslate"><span class="pre">$builder->insert()</span></code>):</p>
|
||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="k">echo</span> <span class="nv">$builder</span><span class="o">-></span><span class="na">set</span><span class="p">(</span><span class="s1">'title'</span><span class="p">,</span> <span class="s1">'My Title'</span><span class="p">)</span><span class="o">-></span><span class="na">getCompiledInsert</span><span class="p">(</span><span class="k">false</span><span class="p">);</span>
|
||
<span class="c1">// Produces string: INSERT INTO mytable (`title`) VALUES ('My Title')</span>
|
||
|
||
<span class="k">echo</span> <span class="nv">$builder</span><span class="o">-></span><span class="na">set</span><span class="p">(</span><span class="s1">'content'</span><span class="p">,</span> <span class="s1">'My Content'</span><span class="p">)</span><span class="o">-></span><span class="na">getCompiledInsert</span><span class="p">();</span>
|
||
<span class="c1">// Produces string: INSERT INTO mytable (`title`, `content`) VALUES ('My Title', 'My Content')</span>
|
||
</pre></div>
|
||
</div>
|
||
<p>The reason the second query worked is that the first parameter is set to <code class="docutils literal notranslate"><span class="pre">false</span></code>.</p>
|
||
<div class="admonition note">
|
||
<p class="admonition-title">Note</p>
|
||
<p>This method doesn’t work for batch inserts.</p>
|
||
</div>
|
||
</section>
|
||
</section>
|
||
<section id="insertbatch">
|
||
<h3><a class="toc-backref" href="#id31">insertBatch</a><a class="headerlink" href="#insertbatch" title="Permalink to this headline"></a></h3>
|
||
<section id="builder-insertbatch">
|
||
<h4>$builder->insertBatch()<a class="headerlink" href="#builder-insertbatch" title="Permalink to this headline"></a></h4>
|
||
<p>Generates an insert string based on the data you supply, and runs the
|
||
query. You can either pass an <strong>array</strong> or an <strong>object</strong> to the
|
||
method. Here is an example using an array:</p>
|
||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="nv">$data</span> <span class="o">=</span> <span class="p">[</span>
|
||
<span class="p">[</span>
|
||
<span class="s1">'title'</span> <span class="o">=></span> <span class="s1">'My title'</span><span class="p">,</span>
|
||
<span class="s1">'name'</span> <span class="o">=></span> <span class="s1">'My Name'</span><span class="p">,</span>
|
||
<span class="s1">'date'</span> <span class="o">=></span> <span class="s1">'My date'</span><span class="p">,</span>
|
||
<span class="p">],</span>
|
||
<span class="p">[</span>
|
||
<span class="s1">'title'</span> <span class="o">=></span> <span class="s1">'Another title'</span><span class="p">,</span>
|
||
<span class="s1">'name'</span> <span class="o">=></span> <span class="s1">'Another Name'</span><span class="p">,</span>
|
||
<span class="s1">'date'</span> <span class="o">=></span> <span class="s1">'Another date'</span><span class="p">,</span>
|
||
<span class="p">],</span>
|
||
<span class="p">];</span>
|
||
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">insertBatch</span><span class="p">(</span><span class="nv">$data</span><span class="p">);</span>
|
||
<span class="c1">// Produces: INSERT INTO mytable (title, name, date) VALUES ('My title', 'My name', 'My date'), ('Another title', 'Another name', 'Another date')</span>
|
||
</pre></div>
|
||
</div>
|
||
<p>The first parameter is an associative array of values.</p>
|
||
<div class="admonition note">
|
||
<p class="admonition-title">Note</p>
|
||
<p>All values are escaped automatically producing safer queries.</p>
|
||
</div>
|
||
</section>
|
||
</section>
|
||
</section>
|
||
<section id="updating-data">
|
||
<h2><a class="toc-backref" href="#id32">Updating Data</a><a class="headerlink" href="#updating-data" title="Permalink to this headline"></a></h2>
|
||
<section id="update">
|
||
<h3><a class="toc-backref" href="#id33">Update</a><a class="headerlink" href="#update" title="Permalink to this headline"></a></h3>
|
||
<section id="builder-replace">
|
||
<h4>$builder->replace()<a class="headerlink" href="#builder-replace" title="Permalink to this headline"></a></h4>
|
||
<p>This method executes a <strong>REPLACE</strong> statement, which is basically the SQL
|
||
standard for (optional) <strong>DELETE</strong> + <strong>INSERT</strong>, using <em>PRIMARY</em> and <em>UNIQUE</em>
|
||
keys as the determining factor.
|
||
In our case, it will save you from the need to implement complex
|
||
logics with different combinations of <code class="docutils literal notranslate"><span class="pre">select()</span></code>, <code class="docutils literal notranslate"><span class="pre">update()</span></code>,
|
||
<code class="docutils literal notranslate"><span class="pre">delete()</span></code> and <code class="docutils literal notranslate"><span class="pre">insert()</span></code> calls.</p>
|
||
<p>Example:</p>
|
||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="nv">$data</span> <span class="o">=</span> <span class="p">[</span>
|
||
<span class="s1">'title'</span> <span class="o">=></span> <span class="s1">'My title'</span><span class="p">,</span>
|
||
<span class="s1">'name'</span> <span class="o">=></span> <span class="s1">'My Name'</span><span class="p">,</span>
|
||
<span class="s1">'date'</span> <span class="o">=></span> <span class="s1">'My date'</span><span class="p">,</span>
|
||
<span class="p">];</span>
|
||
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">replace</span><span class="p">(</span><span class="nv">$data</span><span class="p">);</span>
|
||
<span class="c1">// Executes: REPLACE INTO mytable (title, name, date) VALUES ('My title', 'My name', 'My date')</span>
|
||
</pre></div>
|
||
</div>
|
||
<p>In the above example, if we assume that the <code class="docutils literal notranslate"><span class="pre">title</span></code> field is our primary
|
||
key, then if a row containing <code class="docutils literal notranslate"><span class="pre">My</span> <span class="pre">title</span></code> as the <code class="docutils literal notranslate"><span class="pre">title</span></code> value, that row
|
||
will be deleted with our new row data replacing it.</p>
|
||
<p>Usage of the <code class="docutils literal notranslate"><span class="pre">set()</span></code> method is also allowed and all values are
|
||
automatically escaped, just like with <code class="docutils literal notranslate"><span class="pre">insert()</span></code>.</p>
|
||
</section>
|
||
<section id="builder-set">
|
||
<h4>$builder->set()<a class="headerlink" href="#builder-set" title="Permalink to this headline"></a></h4>
|
||
<p>This method enables you to set values for inserts or updates.</p>
|
||
<p><strong>It can be used instead of passing a data array directly to the insert()
|
||
or update() methods:</strong></p>
|
||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">set</span><span class="p">(</span><span class="s1">'name'</span><span class="p">,</span> <span class="nv">$name</span><span class="p">);</span>
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">insert</span><span class="p">();</span>
|
||
<span class="c1">// Produces: INSERT INTO mytable (`name`) VALUES ('{$name}')</span>
|
||
</pre></div>
|
||
</div>
|
||
<p>If you use multiple method called they will be assembled properly
|
||
based on whether you are doing an insert or an update:</p>
|
||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">set</span><span class="p">(</span><span class="s1">'name'</span><span class="p">,</span> <span class="nv">$name</span><span class="p">);</span>
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">set</span><span class="p">(</span><span class="s1">'title'</span><span class="p">,</span> <span class="nv">$title</span><span class="p">);</span>
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">set</span><span class="p">(</span><span class="s1">'status'</span><span class="p">,</span> <span class="nv">$status</span><span class="p">);</span>
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">insert</span><span class="p">();</span>
|
||
</pre></div>
|
||
</div>
|
||
<p><code class="docutils literal notranslate"><span class="pre">set()</span></code> will also accept an optional third parameter (<code class="docutils literal notranslate"><span class="pre">$escape</span></code>), that
|
||
will prevent the values from being escaped if set to <code class="docutils literal notranslate"><span class="pre">false</span></code>. To illustrate the
|
||
difference, here is <code class="docutils literal notranslate"><span class="pre">set()</span></code> used both with and without the escape
|
||
parameter.</p>
|
||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">set</span><span class="p">(</span><span class="s1">'field'</span><span class="p">,</span> <span class="s1">'field+1'</span><span class="p">,</span> <span class="k">false</span><span class="p">);</span>
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">where</span><span class="p">(</span><span class="s1">'id'</span><span class="p">,</span> <span class="mi">2</span><span class="p">);</span>
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">update</span><span class="p">();</span>
|
||
<span class="c1">// gives UPDATE mytable SET field = field+1 WHERE `id` = 2</span>
|
||
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">set</span><span class="p">(</span><span class="s1">'field'</span><span class="p">,</span> <span class="s1">'field+1'</span><span class="p">);</span>
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">where</span><span class="p">(</span><span class="s1">'id'</span><span class="p">,</span> <span class="mi">2</span><span class="p">);</span>
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">update</span><span class="p">();</span>
|
||
<span class="c1">// gives UPDATE `mytable` SET `field` = 'field+1' WHERE `id` = 2</span>
|
||
</pre></div>
|
||
</div>
|
||
<p>You can also pass an associative array to this method:</p>
|
||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="nv">$array</span> <span class="o">=</span> <span class="p">[</span>
|
||
<span class="s1">'name'</span> <span class="o">=></span> <span class="nv">$name</span><span class="p">,</span>
|
||
<span class="s1">'title'</span> <span class="o">=></span> <span class="nv">$title</span><span class="p">,</span>
|
||
<span class="s1">'status'</span> <span class="o">=></span> <span class="nv">$status</span><span class="p">,</span>
|
||
<span class="p">];</span>
|
||
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">set</span><span class="p">(</span><span class="nv">$array</span><span class="p">);</span>
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">insert</span><span class="p">();</span>
|
||
</pre></div>
|
||
</div>
|
||
<p>Or an object:</p>
|
||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="k">class</span> <span class="nc">Myclass</span>
|
||
<span class="p">{</span>
|
||
<span class="k">public</span> <span class="nv">$title</span> <span class="o">=</span> <span class="s1">'My Title'</span><span class="p">;</span>
|
||
<span class="k">public</span> <span class="nv">$content</span> <span class="o">=</span> <span class="s1">'My Content'</span><span class="p">;</span>
|
||
<span class="k">public</span> <span class="nv">$date</span> <span class="o">=</span> <span class="s1">'My Date'</span><span class="p">;</span>
|
||
<span class="p">}</span>
|
||
|
||
<span class="nv">$object</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">Myclass</span><span class="p">();</span>
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">set</span><span class="p">(</span><span class="nv">$object</span><span class="p">);</span>
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">insert</span><span class="p">();</span>
|
||
</pre></div>
|
||
</div>
|
||
</section>
|
||
<section id="builder-update">
|
||
<h4>$builder->update()<a class="headerlink" href="#builder-update" title="Permalink to this headline"></a></h4>
|
||
<p>Generates an update string and runs the query based on the data you
|
||
supply. You can pass an <strong>array</strong> or an <strong>object</strong> to the method. Here
|
||
is an example using an array:</p>
|
||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="nv">$data</span> <span class="o">=</span> <span class="p">[</span>
|
||
<span class="s1">'title'</span> <span class="o">=></span> <span class="nv">$title</span><span class="p">,</span>
|
||
<span class="s1">'name'</span> <span class="o">=></span> <span class="nv">$name</span><span class="p">,</span>
|
||
<span class="s1">'date'</span> <span class="o">=></span> <span class="nv">$date</span><span class="p">,</span>
|
||
<span class="p">];</span>
|
||
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">where</span><span class="p">(</span><span class="s1">'id'</span><span class="p">,</span> <span class="nv">$id</span><span class="p">);</span>
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">update</span><span class="p">(</span><span class="nv">$data</span><span class="p">);</span>
|
||
<span class="cm">/*</span>
|
||
<span class="cm"> * Produces:</span>
|
||
<span class="cm"> * UPDATE mytable</span>
|
||
<span class="cm"> * SET title = '{$title}', name = '{$name}', date = '{$date}'</span>
|
||
<span class="cm"> * WHERE id = $id</span>
|
||
<span class="cm"> */</span>
|
||
</pre></div>
|
||
</div>
|
||
<p>Or you can supply an object:</p>
|
||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="k">class</span> <span class="nc">Myclass</span>
|
||
<span class="p">{</span>
|
||
<span class="k">public</span> <span class="nv">$title</span> <span class="o">=</span> <span class="s1">'My Title'</span><span class="p">;</span>
|
||
<span class="k">public</span> <span class="nv">$content</span> <span class="o">=</span> <span class="s1">'My Content'</span><span class="p">;</span>
|
||
<span class="k">public</span> <span class="nv">$date</span> <span class="o">=</span> <span class="s1">'My Date'</span><span class="p">;</span>
|
||
<span class="p">}</span>
|
||
|
||
<span class="nv">$object</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">Myclass</span><span class="p">();</span>
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">where</span><span class="p">(</span><span class="s1">'id'</span><span class="p">,</span> <span class="nv">$id</span><span class="p">);</span>
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">update</span><span class="p">(</span><span class="nv">$object</span><span class="p">);</span>
|
||
<span class="cm">/*</span>
|
||
<span class="cm"> * Produces:</span>
|
||
<span class="cm"> * UPDATE `mytable`</span>
|
||
<span class="cm"> * SET `title` = '{$title}', `name` = '{$name}', `date` = '{$date}'</span>
|
||
<span class="cm"> * WHERE id = `$id`</span>
|
||
<span class="cm"> */</span>
|
||
</pre></div>
|
||
</div>
|
||
<div class="admonition note">
|
||
<p class="admonition-title">Note</p>
|
||
<p>All values are escaped automatically producing safer queries.</p>
|
||
</div>
|
||
<p>You’ll notice the use of the <code class="docutils literal notranslate"><span class="pre">$builder->where()</span></code> method, enabling you
|
||
to set the <strong>WHERE</strong> clause. You can optionally pass this information
|
||
directly into the <code class="docutils literal notranslate"><span class="pre">update()</span></code> method as a string:</p>
|
||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">update</span><span class="p">(</span><span class="nv">$data</span><span class="p">,</span> <span class="s1">'id = 4'</span><span class="p">);</span>
|
||
</pre></div>
|
||
</div>
|
||
<p>Or as an array:</p>
|
||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">update</span><span class="p">(</span><span class="nv">$data</span><span class="p">,</span> <span class="p">[</span><span class="s1">'id'</span> <span class="o">=></span> <span class="nv">$id</span><span class="p">]);</span>
|
||
</pre></div>
|
||
</div>
|
||
<p>You may also use the <code class="docutils literal notranslate"><span class="pre">$builder->set()</span></code> method described above when
|
||
performing updates.</p>
|
||
</section>
|
||
</section>
|
||
<section id="updatebatch">
|
||
<h3><a class="toc-backref" href="#id34">UpdateBatch</a><a class="headerlink" href="#updatebatch" title="Permalink to this headline"></a></h3>
|
||
<section id="builder-updatebatch">
|
||
<h4>$builder->updateBatch()<a class="headerlink" href="#builder-updatebatch" title="Permalink to this headline"></a></h4>
|
||
<p>Generates an update string based on the data you supply, and runs the query.
|
||
You can either pass an <strong>array</strong> or an <strong>object</strong> to the method.
|
||
Here is an example using an array:</p>
|
||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="nv">$data</span> <span class="o">=</span> <span class="p">[</span>
|
||
<span class="p">[</span>
|
||
<span class="s1">'title'</span> <span class="o">=></span> <span class="s1">'My title'</span><span class="p">,</span>
|
||
<span class="s1">'name'</span> <span class="o">=></span> <span class="s1">'My Name 2'</span><span class="p">,</span>
|
||
<span class="s1">'date'</span> <span class="o">=></span> <span class="s1">'My date 2'</span><span class="p">,</span>
|
||
<span class="p">],</span>
|
||
<span class="p">[</span>
|
||
<span class="s1">'title'</span> <span class="o">=></span> <span class="s1">'Another title'</span><span class="p">,</span>
|
||
<span class="s1">'name'</span> <span class="o">=></span> <span class="s1">'Another Name 2'</span><span class="p">,</span>
|
||
<span class="s1">'date'</span> <span class="o">=></span> <span class="s1">'Another date 2'</span><span class="p">,</span>
|
||
<span class="p">],</span>
|
||
<span class="p">];</span>
|
||
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">updateBatch</span><span class="p">(</span><span class="nv">$data</span><span class="p">,</span> <span class="s1">'title'</span><span class="p">);</span>
|
||
<span class="cm">/*</span>
|
||
<span class="cm"> * Produces:</span>
|
||
<span class="cm"> * UPDATE `mytable` SET `name` = CASE</span>
|
||
<span class="cm"> * WHEN `title` = 'My title' THEN 'My Name 2'</span>
|
||
<span class="cm"> * WHEN `title` = 'Another title' THEN 'Another Name 2'</span>
|
||
<span class="cm"> * ELSE `name` END,</span>
|
||
<span class="cm"> * `date` = CASE</span>
|
||
<span class="cm"> * WHEN `title` = 'My title' THEN 'My date 2'</span>
|
||
<span class="cm"> * WHEN `title` = 'Another title' THEN 'Another date 2'</span>
|
||
<span class="cm"> * ELSE `date` END</span>
|
||
<span class="cm"> * WHERE `title` IN ('My title','Another title')</span>
|
||
<span class="cm"> */</span>
|
||
</pre></div>
|
||
</div>
|
||
<p>The first parameter is an associative array of values, the second parameter is the where key.</p>
|
||
<div class="admonition note">
|
||
<p class="admonition-title">Note</p>
|
||
<p>All values are escaped automatically producing safer queries.</p>
|
||
</div>
|
||
<div class="admonition note">
|
||
<p class="admonition-title">Note</p>
|
||
<p><code class="docutils literal notranslate"><span class="pre">affectedRows()</span></code> won’t give you proper results with this method,
|
||
due to the very nature of how it works. Instead, <code class="docutils literal notranslate"><span class="pre">updateBatch()</span></code>
|
||
returns the number of rows affected.</p>
|
||
</div>
|
||
</section>
|
||
<section id="builder-getcompiledupdate">
|
||
<h4>$builder->getCompiledUpdate()<a class="headerlink" href="#builder-getcompiledupdate" title="Permalink to this headline"></a></h4>
|
||
<p>This works exactly the same way as <code class="docutils literal notranslate"><span class="pre">$builder->getCompiledInsert()</span></code> except
|
||
that it produces an <strong>UPDATE</strong> SQL string instead of an <strong>INSERT</strong> SQL string.</p>
|
||
<p>For more information view documentation for <code class="docutils literal notranslate"><span class="pre">$builder->getCompiledInsert()</span></code>.</p>
|
||
<div class="admonition note">
|
||
<p class="admonition-title">Note</p>
|
||
<p>This method doesn’t work for batched updates.</p>
|
||
</div>
|
||
</section>
|
||
</section>
|
||
</section>
|
||
<section id="deleting-data">
|
||
<h2><a class="toc-backref" href="#id35">Deleting Data</a><a class="headerlink" href="#deleting-data" title="Permalink to this headline"></a></h2>
|
||
<section id="delete">
|
||
<h3><a class="toc-backref" href="#id36">Delete</a><a class="headerlink" href="#delete" title="Permalink to this headline"></a></h3>
|
||
<section id="builder-delete">
|
||
<h4>$builder->delete()<a class="headerlink" href="#builder-delete" title="Permalink to this headline"></a></h4>
|
||
<p>Generates a <strong>DELETE</strong> SQL string and runs the query.</p>
|
||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">delete</span><span class="p">([</span><span class="s1">'id'</span> <span class="o">=></span> <span class="nv">$id</span><span class="p">]);</span>
|
||
<span class="c1">// Produces: DELETE FROM mytable WHERE id = $id</span>
|
||
</pre></div>
|
||
</div>
|
||
<p>The first parameter is the where clause.
|
||
You can also use the <code class="docutils literal notranslate"><span class="pre">where()</span></code> or <code class="docutils literal notranslate"><span class="pre">orWhere()</span></code> methods instead of passing
|
||
the data to the first parameter of the method:</p>
|
||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">where</span><span class="p">(</span><span class="s1">'id'</span><span class="p">,</span> <span class="nv">$id</span><span class="p">);</span>
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">delete</span><span class="p">();</span>
|
||
<span class="cm">/*</span>
|
||
<span class="cm"> * Produces:</span>
|
||
<span class="cm"> * DELETE FROM mytable</span>
|
||
<span class="cm"> * WHERE id = $id</span>
|
||
<span class="cm"> */</span>
|
||
</pre></div>
|
||
</div>
|
||
<p>If you want to delete all data from a table, you can use the <code class="docutils literal notranslate"><span class="pre">truncate()</span></code>
|
||
method, or <code class="docutils literal notranslate"><span class="pre">emptyTable()</span></code>.</p>
|
||
</section>
|
||
<section id="builder-emptytable">
|
||
<h4>$builder->emptyTable()<a class="headerlink" href="#builder-emptytable" title="Permalink to this headline"></a></h4>
|
||
<p>Generates a <strong>DELETE</strong> SQL string and runs the
|
||
query:</p>
|
||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">emptyTable</span><span class="p">(</span><span class="s1">'mytable'</span><span class="p">);</span>
|
||
<span class="c1">// Produces: DELETE FROM mytable</span>
|
||
</pre></div>
|
||
</div>
|
||
</section>
|
||
<section id="builder-truncate">
|
||
<h4>$builder->truncate()<a class="headerlink" href="#builder-truncate" title="Permalink to this headline"></a></h4>
|
||
<p>Generates a <strong>TRUNCATE</strong> SQL string and runs the query.</p>
|
||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="nv">$builder</span><span class="o">-></span><span class="na">truncate</span><span class="p">();</span>
|
||
<span class="cm">/*</span>
|
||
<span class="cm"> * Produce:</span>
|
||
<span class="cm"> * TRUNCATE mytable</span>
|
||
<span class="cm"> */</span>
|
||
</pre></div>
|
||
</div>
|
||
<div class="admonition note">
|
||
<p class="admonition-title">Note</p>
|
||
<p>If the TRUNCATE command isn’t available, <code class="docutils literal notranslate"><span class="pre">truncate()</span></code> will
|
||
execute as “DELETE FROM table”.</p>
|
||
</div>
|
||
</section>
|
||
<section id="builder-getcompileddelete">
|
||
<h4>$builder->getCompiledDelete()<a class="headerlink" href="#builder-getcompileddelete" title="Permalink to this headline"></a></h4>
|
||
<p>This works exactly the same way as <code class="docutils literal notranslate"><span class="pre">$builder->getCompiledInsert()</span></code> except
|
||
that it produces a <strong>DELETE</strong> SQL string instead of an <strong>INSERT</strong> SQL string.</p>
|
||
<p>For more information view documentation for <code class="docutils literal notranslate"><span class="pre">$builder->getCompiledInsert()</span></code>.</p>
|
||
</section>
|
||
</section>
|
||
</section>
|
||
<section id="method-chaining">
|
||
<h2><a class="toc-backref" href="#id37">Method Chaining</a><a class="headerlink" href="#method-chaining" title="Permalink to this headline"></a></h2>
|
||
<p>Method chaining allows you to simplify your syntax by connecting
|
||
multiple methods. Consider this example:</p>
|
||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="nv">$query</span> <span class="o">=</span> <span class="nv">$builder</span><span class="o">-></span><span class="na">select</span><span class="p">(</span><span class="s1">'title'</span><span class="p">)</span>
|
||
<span class="o">-></span><span class="na">where</span><span class="p">(</span><span class="s1">'id'</span><span class="p">,</span> <span class="nv">$id</span><span class="p">)</span>
|
||
<span class="o">-></span><span class="na">limit</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span> <span class="mi">20</span><span class="p">)</span>
|
||
<span class="o">-></span><span class="na">get</span><span class="p">();</span>
|
||
</pre></div>
|
||
</div>
|
||
</section>
|
||
<section id="resetting-query-builder">
|
||
<span id="ar-caching"></span><h2><a class="toc-backref" href="#id38">Resetting Query Builder</a><a class="headerlink" href="#resetting-query-builder" title="Permalink to this headline"></a></h2>
|
||
<section id="resetquery">
|
||
<h3><a class="toc-backref" href="#id39">ResetQuery</a><a class="headerlink" href="#resetquery" title="Permalink to this headline"></a></h3>
|
||
<section id="builder-resetquery">
|
||
<h4>$builder->resetQuery()<a class="headerlink" href="#builder-resetquery" title="Permalink to this headline"></a></h4>
|
||
<p>Resetting Query Builder allows you to start fresh with your query without
|
||
executing it first using a method like <code class="docutils literal notranslate"><span class="pre">$builder->get()</span></code> or <code class="docutils literal notranslate"><span class="pre">$builder->insert()</span></code>.</p>
|
||
<p>This is useful in situations where you are using Query Builder to generate SQL
|
||
(e.g., <code class="docutils literal notranslate"><span class="pre">$builder->getCompiledSelect()</span></code>) but then choose to, for instance,
|
||
run the query:</p>
|
||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||
|
||
<span class="c1">// Note that the second parameter of the ``get_compiled_select`` method is false</span>
|
||
<span class="nv">$sql</span> <span class="o">=</span> <span class="nv">$builder</span><span class="o">-></span><span class="na">select</span><span class="p">([</span><span class="s1">'field1'</span><span class="p">,</span> <span class="s1">'field2'</span><span class="p">])</span>
|
||
<span class="o">-></span><span class="na">where</span><span class="p">(</span><span class="s1">'field3'</span><span class="p">,</span> <span class="mi">5</span><span class="p">)</span>
|
||
<span class="o">-></span><span class="na">getCompiledSelect</span><span class="p">(</span><span class="k">false</span><span class="p">);</span>
|
||
|
||
<span class="c1">// ...</span>
|
||
<span class="c1">// Do something crazy with the SQL code... like add it to a cron script for</span>
|
||
<span class="c1">// later execution or something...</span>
|
||
<span class="c1">// ...</span>
|
||
|
||
<span class="nv">$data</span> <span class="o">=</span> <span class="nv">$builder</span><span class="o">-></span><span class="na">get</span><span class="p">()</span><span class="o">-></span><span class="na">getResultArray</span><span class="p">();</span>
|
||
<span class="cm">/*</span>
|
||
<span class="cm"> * Would execute and return an array of results of the following query:</span>
|
||
<span class="cm"> * SELECT field1, field1 from mytable where field3 = 5;</span>
|
||
<span class="cm"> */</span>
|
||
</pre></div>
|
||
</div>
|
||
</section>
|
||
</section>
|
||
</section>
|
||
<section id="namespace-CodeIgniter\Database">
|
||
<span id="class-reference"></span><h2><a class="toc-backref" href="#id40">Class Reference</a><a class="headerlink" href="#namespace-CodeIgniter\Database" title="Permalink to this headline"></a></h2>
|
||
<dl class="php class">
|
||
<dt class="sig sig-object php" id="CodeIgniter\Database\BaseBuilder">
|
||
<em class="property"><span class="pre">class</span> </em><span class="sig-prename descclassname"><span class="pre">CodeIgniter\Database\</span></span><span class="sig-name descname"><span class="pre">BaseBuilder</span></span><a class="headerlink" href="#CodeIgniter\Database\BaseBuilder" title="Permalink to this definition"></a></dt>
|
||
<dd><dl class="php method">
|
||
<dt class="sig sig-object php" id="CodeIgniter\Database\BaseBuilder::db">
|
||
<span class="sig-name descname"><span class="pre">db</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#CodeIgniter\Database\BaseBuilder::db" title="Permalink to this definition"></a></dt>
|
||
<dd><dl class="field-list simple">
|
||
<dt class="field-odd">Returns</dt>
|
||
<dd class="field-odd"><p>The database connection in use</p>
|
||
</dd>
|
||
<dt class="field-even">Return type</dt>
|
||
<dd class="field-even"><p><code class="docutils literal notranslate"><span class="pre">ConnectionInterface</span></code></p>
|
||
</dd>
|
||
</dl>
|
||
<p>Returns the current database connection from <code class="docutils literal notranslate"><span class="pre">$db</span></code>. Useful for
|
||
accessing <code class="docutils literal notranslate"><span class="pre">ConnectionInterface</span></code> methods that are not directly
|
||
available to the Query Builder, like <code class="docutils literal notranslate"><span class="pre">insertID()</span></code> or <code class="docutils literal notranslate"><span class="pre">errors()</span></code>.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="php method">
|
||
<dt class="sig sig-object php" id="CodeIgniter\Database\BaseBuilder::resetQuery">
|
||
<span class="sig-name descname"><span class="pre">resetQuery</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#CodeIgniter\Database\BaseBuilder::resetQuery" title="Permalink to this definition"></a></dt>
|
||
<dd><dl class="field-list simple">
|
||
<dt class="field-odd">Returns</dt>
|
||
<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code> instance (method chaining)</p>
|
||
</dd>
|
||
<dt class="field-even">Return type</dt>
|
||
<dd class="field-even"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code></p>
|
||
</dd>
|
||
</dl>
|
||
<p>Resets the current Query Builder state. Useful when you want
|
||
to build a query that can be cancelled under certain conditions.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="php method">
|
||
<dt class="sig sig-object php" id="CodeIgniter\Database\BaseBuilder::countAllResults">
|
||
<span class="sig-name descname"><span class="pre">countAllResults</span></span><span class="sig-paren">(</span><span class="optional">[</span><em class="sig-param"><span class="pre">$reset</span> <span class="pre">=</span> <span class="pre">true</span></em><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#CodeIgniter\Database\BaseBuilder::countAllResults" title="Permalink to this definition"></a></dt>
|
||
<dd><dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>$reset</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">bool</span></code></span>) – Whether to reset values for SELECTs</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p>Number of rows in the query result</p>
|
||
</dd>
|
||
<dt class="field-odd">Return type</dt>
|
||
<dd class="field-odd"><p><span><code class="xref php php-obj docutils literal notranslate"><span class="pre">int</span></code></span></p>
|
||
</dd>
|
||
</dl>
|
||
<p>Generates a platform-specific query string that counts
|
||
all records returned by an Query Builder query.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="php method">
|
||
<dt class="sig sig-object php" id="CodeIgniter\Database\BaseBuilder::countAll">
|
||
<span class="sig-name descname"><span class="pre">countAll</span></span><span class="sig-paren">(</span><span class="optional">[</span><em class="sig-param"><span class="pre">$reset</span> <span class="pre">=</span> <span class="pre">true</span></em><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#CodeIgniter\Database\BaseBuilder::countAll" title="Permalink to this definition"></a></dt>
|
||
<dd><dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>$reset</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">bool</span></code></span>) – Whether to reset values for SELECTs</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p>Number of rows in the query result</p>
|
||
</dd>
|
||
<dt class="field-odd">Return type</dt>
|
||
<dd class="field-odd"><p><span><code class="xref php php-obj docutils literal notranslate"><span class="pre">int</span></code></span></p>
|
||
</dd>
|
||
</dl>
|
||
<p>Generates a platform-specific query string that counts
|
||
all records in the particular table.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="php method">
|
||
<dt class="sig sig-object php" id="CodeIgniter\Database\BaseBuilder::get">
|
||
<span class="sig-name descname"><span class="pre">get</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="pre">[$limit</span> <span class="pre">=</span> <span class="pre">null[,</span> <span class="pre">$offset</span> <span class="pre">=</span> <span class="pre">null[,</span> <span class="pre">$reset</span> <span class="pre">=</span> <span class="pre">true]]]]</span></em><span class="sig-paren">)</span><a class="headerlink" href="#CodeIgniter\Database\BaseBuilder::get" title="Permalink to this definition"></a></dt>
|
||
<dd><dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>$limit</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">int</span></code></span>) – The LIMIT clause</p></li>
|
||
<li><p><strong>$offset</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">int</span></code></span>) – The OFFSET clause</p></li>
|
||
<li><p><strong>$reset</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">bool</span></code></span>) – Do we want to clear query builder values?</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p><code class="docutils literal notranslate"><span class="pre">\CodeIgniter\Database\ResultInterface</span></code> instance (method chaining)</p>
|
||
</dd>
|
||
<dt class="field-odd">Return type</dt>
|
||
<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">\CodeIgniter\Database\ResultInterface</span></code></p>
|
||
</dd>
|
||
</dl>
|
||
<p>Compiles and runs <code class="docutils literal notranslate"><span class="pre">SELECT</span></code> statement based on the already
|
||
called Query Builder methods.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="php method">
|
||
<dt class="sig sig-object php" id="CodeIgniter\Database\BaseBuilder::getWhere">
|
||
<span class="sig-name descname"><span class="pre">getWhere</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="pre">[$where</span> <span class="pre">=</span> <span class="pre">null[,</span> <span class="pre">$limit</span> <span class="pre">=</span> <span class="pre">null[,</span> <span class="pre">$offset</span> <span class="pre">=</span> <span class="pre">null[,</span> <span class="pre">$reset</span> <span class="pre">=</span> <span class="pre">true]]]]]</span></em><span class="sig-paren">)</span><a class="headerlink" href="#CodeIgniter\Database\BaseBuilder::getWhere" title="Permalink to this definition"></a></dt>
|
||
<dd><dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>$where</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">string</span></code></span>) – The WHERE clause</p></li>
|
||
<li><p><strong>$limit</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">int</span></code></span>) – The LIMIT clause</p></li>
|
||
<li><p><strong>$offset</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">int</span></code></span>) – The OFFSET clause</p></li>
|
||
<li><p><strong>$reset</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">bool</span></code></span>) – Do we want to clear query builder values?</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p><code class="docutils literal notranslate"><span class="pre">\CodeIgniter\Database\ResultInterface</span></code> instance (method chaining)</p>
|
||
</dd>
|
||
<dt class="field-odd">Return type</dt>
|
||
<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">\CodeIgniter\Database\ResultInterface</span></code></p>
|
||
</dd>
|
||
</dl>
|
||
<p>Same as <code class="docutils literal notranslate"><span class="pre">get()</span></code>, but also allows the WHERE to be added directly.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="php method">
|
||
<dt class="sig sig-object php" id="CodeIgniter\Database\BaseBuilder::select">
|
||
<span class="sig-name descname"><span class="pre">select</span></span><span class="sig-paren">(</span><span class="optional">[</span><em class="sig-param"><span class="pre">$select</span> <span class="pre">=</span> <span class="pre">'*'</span></em><span class="optional">[</span>, <em class="sig-param"><span class="pre">$escape</span> <span class="pre">=</span> <span class="pre">null</span></em><span class="optional">]</span><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#CodeIgniter\Database\BaseBuilder::select" title="Permalink to this definition"></a></dt>
|
||
<dd><dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>$select</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">array|RawSql|string</span></code></span>) – The SELECT portion of a query</p></li>
|
||
<li><p><strong>$escape</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">bool</span></code></span>) – Whether to escape values and identifiers</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code> instance (method chaining)</p>
|
||
</dd>
|
||
<dt class="field-odd">Return type</dt>
|
||
<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code></p>
|
||
</dd>
|
||
</dl>
|
||
<p>Adds a <code class="docutils literal notranslate"><span class="pre">SELECT</span></code> clause to a query.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="php method">
|
||
<dt class="sig sig-object php" id="CodeIgniter\Database\BaseBuilder::selectAvg">
|
||
<span class="sig-name descname"><span class="pre">selectAvg</span></span><span class="sig-paren">(</span><span class="optional">[</span><em class="sig-param"><span class="pre">$select</span> <span class="pre">=</span> <span class="pre">''</span></em><span class="optional">[</span>, <em class="sig-param"><span class="pre">$alias</span> <span class="pre">=</span> <span class="pre">''</span></em><span class="optional">]</span><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#CodeIgniter\Database\BaseBuilder::selectAvg" title="Permalink to this definition"></a></dt>
|
||
<dd><dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>$select</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">string</span></code></span>) – Field to compute the average of</p></li>
|
||
<li><p><strong>$alias</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">string</span></code></span>) – Alias for the resulting value name</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code> instance (method chaining)</p>
|
||
</dd>
|
||
<dt class="field-odd">Return type</dt>
|
||
<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code></p>
|
||
</dd>
|
||
</dl>
|
||
<p>Adds a <code class="docutils literal notranslate"><span class="pre">SELECT</span> <span class="pre">AVG(field)</span></code> clause to a query.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="php method">
|
||
<dt class="sig sig-object php" id="CodeIgniter\Database\BaseBuilder::selectMax">
|
||
<span class="sig-name descname"><span class="pre">selectMax</span></span><span class="sig-paren">(</span><span class="optional">[</span><em class="sig-param"><span class="pre">$select</span> <span class="pre">=</span> <span class="pre">''</span></em><span class="optional">[</span>, <em class="sig-param"><span class="pre">$alias</span> <span class="pre">=</span> <span class="pre">''</span></em><span class="optional">]</span><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#CodeIgniter\Database\BaseBuilder::selectMax" title="Permalink to this definition"></a></dt>
|
||
<dd><dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>$select</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">string</span></code></span>) – Field to compute the maximum of</p></li>
|
||
<li><p><strong>$alias</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">string</span></code></span>) – Alias for the resulting value name</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code> instance (method chaining)</p>
|
||
</dd>
|
||
<dt class="field-odd">Return type</dt>
|
||
<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code></p>
|
||
</dd>
|
||
</dl>
|
||
<p>Adds a <code class="docutils literal notranslate"><span class="pre">SELECT</span> <span class="pre">MAX(field)</span></code> clause to a query.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="php method">
|
||
<dt class="sig sig-object php" id="CodeIgniter\Database\BaseBuilder::selectMin">
|
||
<span class="sig-name descname"><span class="pre">selectMin</span></span><span class="sig-paren">(</span><span class="optional">[</span><em class="sig-param"><span class="pre">$select</span> <span class="pre">=</span> <span class="pre">''</span></em><span class="optional">[</span>, <em class="sig-param"><span class="pre">$alias</span> <span class="pre">=</span> <span class="pre">''</span></em><span class="optional">]</span><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#CodeIgniter\Database\BaseBuilder::selectMin" title="Permalink to this definition"></a></dt>
|
||
<dd><dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>$select</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">string</span></code></span>) – Field to compute the minimum of</p></li>
|
||
<li><p><strong>$alias</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">string</span></code></span>) – Alias for the resulting value name</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code> instance (method chaining)</p>
|
||
</dd>
|
||
<dt class="field-odd">Return type</dt>
|
||
<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code></p>
|
||
</dd>
|
||
</dl>
|
||
<p>Adds a <code class="docutils literal notranslate"><span class="pre">SELECT</span> <span class="pre">MIN(field)</span></code> clause to a query.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="php method">
|
||
<dt class="sig sig-object php" id="CodeIgniter\Database\BaseBuilder::selectSum">
|
||
<span class="sig-name descname"><span class="pre">selectSum</span></span><span class="sig-paren">(</span><span class="optional">[</span><em class="sig-param"><span class="pre">$select</span> <span class="pre">=</span> <span class="pre">''</span></em><span class="optional">[</span>, <em class="sig-param"><span class="pre">$alias</span> <span class="pre">=</span> <span class="pre">''</span></em><span class="optional">]</span><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#CodeIgniter\Database\BaseBuilder::selectSum" title="Permalink to this definition"></a></dt>
|
||
<dd><dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>$select</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">string</span></code></span>) – Field to compute the sum of</p></li>
|
||
<li><p><strong>$alias</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">string</span></code></span>) – Alias for the resulting value name</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code> instance (method chaining)</p>
|
||
</dd>
|
||
<dt class="field-odd">Return type</dt>
|
||
<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code></p>
|
||
</dd>
|
||
</dl>
|
||
<p>Adds a <code class="docutils literal notranslate"><span class="pre">SELECT</span> <span class="pre">SUM(field)</span></code> clause to a query.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="php method">
|
||
<dt class="sig sig-object php" id="CodeIgniter\Database\BaseBuilder::selectCount">
|
||
<span class="sig-name descname"><span class="pre">selectCount</span></span><span class="sig-paren">(</span><span class="optional">[</span><em class="sig-param"><span class="pre">$select</span> <span class="pre">=</span> <span class="pre">''</span></em><span class="optional">[</span>, <em class="sig-param"><span class="pre">$alias</span> <span class="pre">=</span> <span class="pre">''</span></em><span class="optional">]</span><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#CodeIgniter\Database\BaseBuilder::selectCount" title="Permalink to this definition"></a></dt>
|
||
<dd><dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>$select</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">string</span></code></span>) – Field to compute the average of</p></li>
|
||
<li><p><strong>$alias</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">string</span></code></span>) – Alias for the resulting value name</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code> instance (method chaining)</p>
|
||
</dd>
|
||
<dt class="field-odd">Return type</dt>
|
||
<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code></p>
|
||
</dd>
|
||
</dl>
|
||
<p>Adds a <code class="docutils literal notranslate"><span class="pre">SELECT</span> <span class="pre">COUNT(field)</span></code> clause to a query.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="php method">
|
||
<dt class="sig sig-object php" id="CodeIgniter\Database\BaseBuilder::selectSubquery">
|
||
<span class="sig-name descname"><span class="pre">selectSubquery</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="pre">BaseBuilder</span> <span class="pre">$subquery</span></em>, <em class="sig-param"><span class="pre">string</span> <span class="pre">$as</span></em><span class="sig-paren">)</span><a class="headerlink" href="#CodeIgniter\Database\BaseBuilder::selectSubquery" title="Permalink to this definition"></a></dt>
|
||
<dd><dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>$subquery</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">string</span></code></span>) – Instance of BaseBuilder</p></li>
|
||
<li><p><strong>$as</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">string</span></code></span>) – Alias for the resulting value name</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code> instance (method chaining)</p>
|
||
</dd>
|
||
<dt class="field-odd">Return type</dt>
|
||
<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code></p>
|
||
</dd>
|
||
</dl>
|
||
<p>Adds a subquery to the selection</p>
|
||
</dd></dl>
|
||
|
||
<dl class="php method">
|
||
<dt class="sig sig-object php" id="CodeIgniter\Database\BaseBuilder::distinct">
|
||
<span class="sig-name descname"><span class="pre">distinct</span></span><span class="sig-paren">(</span><span class="optional">[</span><em class="sig-param"><span class="pre">$val</span> <span class="pre">=</span> <span class="pre">true</span></em><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#CodeIgniter\Database\BaseBuilder::distinct" title="Permalink to this definition"></a></dt>
|
||
<dd><dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>$val</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">bool</span></code></span>) – Desired value of the “distinct” flag</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code> instance (method chaining)</p>
|
||
</dd>
|
||
<dt class="field-odd">Return type</dt>
|
||
<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code></p>
|
||
</dd>
|
||
</dl>
|
||
<p>Sets a flag which tells the query builder to add
|
||
a <code class="docutils literal notranslate"><span class="pre">DISTINCT</span></code> clause to the <code class="docutils literal notranslate"><span class="pre">SELECT</span></code> portion of the query.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="php method">
|
||
<dt class="sig sig-object php" id="CodeIgniter\Database\BaseBuilder::from">
|
||
<span class="sig-name descname"><span class="pre">from</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="pre">$from</span></em><span class="optional">[</span>, <em class="sig-param"><span class="pre">$overwrite</span> <span class="pre">=</span> <span class="pre">false</span></em><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#CodeIgniter\Database\BaseBuilder::from" title="Permalink to this definition"></a></dt>
|
||
<dd><dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>$from</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">mixed</span></code></span>) – Table name(s); string or array</p></li>
|
||
<li><p><strong>$overwrite</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">bool</span></code></span>) – Should we remove the first table existing?</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code> instance (method chaining)</p>
|
||
</dd>
|
||
<dt class="field-odd">Return type</dt>
|
||
<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code></p>
|
||
</dd>
|
||
</dl>
|
||
<p>Specifies the <code class="docutils literal notranslate"><span class="pre">FROM</span></code> clause of a query.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="php method">
|
||
<dt class="sig sig-object php" id="CodeIgniter\Database\BaseBuilder::fromSubquery">
|
||
<span class="sig-name descname"><span class="pre">fromSubquery</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="pre">$from</span></em>, <em class="sig-param"><span class="pre">$alias</span></em><span class="sig-paren">)</span><a class="headerlink" href="#CodeIgniter\Database\BaseBuilder::fromSubquery" title="Permalink to this definition"></a></dt>
|
||
<dd><dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>$from</strong> (<span><a class="reference internal" href="#CodeIgniter\Database\BaseBuilder" title="CodeIgniter\Database\BaseBuilder"><code class="xref php php-obj docutils literal notranslate"><span class="pre">BaseBuilder</span></code></a></span>) – Instance of the BaseBuilder class</p></li>
|
||
<li><p><strong>$alias</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">string</span></code></span>) – Subquery alias</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code> instance (method chaining)</p>
|
||
</dd>
|
||
<dt class="field-odd">Return type</dt>
|
||
<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code></p>
|
||
</dd>
|
||
</dl>
|
||
<p>Specifies the <code class="docutils literal notranslate"><span class="pre">FROM</span></code> clause of a query using a subquery.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="php method">
|
||
<dt class="sig sig-object php" id="CodeIgniter\Database\BaseBuilder::join">
|
||
<span class="sig-name descname"><span class="pre">join</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="pre">$table</span></em>, <em class="sig-param"><span class="pre">$cond</span></em><span class="optional">[</span>, <em class="sig-param"><span class="pre">$type</span> <span class="pre">=</span> <span class="pre">''</span></em><span class="optional">[</span>, <em class="sig-param"><span class="pre">$escape</span> <span class="pre">=</span> <span class="pre">null</span></em><span class="optional">]</span><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#CodeIgniter\Database\BaseBuilder::join" title="Permalink to this definition"></a></dt>
|
||
<dd><dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>$table</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">string</span></code></span>) – Table name to join</p></li>
|
||
<li><p><strong>$cond</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">string</span></code></span>) – The JOIN ON condition</p></li>
|
||
<li><p><strong>$type</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">string</span></code></span>) – The JOIN type</p></li>
|
||
<li><p><strong>$escape</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">bool</span></code></span>) – Whether to escape values and identifiers</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code> instance (method chaining)</p>
|
||
</dd>
|
||
<dt class="field-odd">Return type</dt>
|
||
<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code></p>
|
||
</dd>
|
||
</dl>
|
||
<p>Adds a <code class="docutils literal notranslate"><span class="pre">JOIN</span></code> clause to a query.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="php method">
|
||
<dt class="sig sig-object php" id="CodeIgniter\Database\BaseBuilder::where">
|
||
<span class="sig-name descname"><span class="pre">where</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="pre">$key</span></em><span class="optional">[</span>, <em class="sig-param"><span class="pre">$value</span> <span class="pre">=</span> <span class="pre">null</span></em><span class="optional">[</span>, <em class="sig-param"><span class="pre">$escape</span> <span class="pre">=</span> <span class="pre">null</span></em><span class="optional">]</span><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#CodeIgniter\Database\BaseBuilder::where" title="Permalink to this definition"></a></dt>
|
||
<dd><dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>$key</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">array|RawSql|string</span></code></span>) – Name of field to compare, or associative array</p></li>
|
||
<li><p><strong>$value</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">mixed</span></code></span>) – If a single key, compared to this value</p></li>
|
||
<li><p><strong>$escape</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">bool</span></code></span>) – Whether to escape values and identifiers</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code> instance (method chaining)</p>
|
||
</dd>
|
||
<dt class="field-odd">Return type</dt>
|
||
<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code></p>
|
||
</dd>
|
||
</dl>
|
||
<p>Generates the <code class="docutils literal notranslate"><span class="pre">WHERE</span></code> portion of the query. Separates multiple calls with <code class="docutils literal notranslate"><span class="pre">AND</span></code>.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="php method">
|
||
<dt class="sig sig-object php" id="CodeIgniter\Database\BaseBuilder::orWhere">
|
||
<span class="sig-name descname"><span class="pre">orWhere</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="pre">$key</span></em><span class="optional">[</span>, <em class="sig-param"><span class="pre">$value</span> <span class="pre">=</span> <span class="pre">null</span></em><span class="optional">[</span>, <em class="sig-param"><span class="pre">$escape</span> <span class="pre">=</span> <span class="pre">null</span></em><span class="optional">]</span><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#CodeIgniter\Database\BaseBuilder::orWhere" title="Permalink to this definition"></a></dt>
|
||
<dd><dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>$key</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">mixed</span></code></span>) – Name of field to compare, or associative array</p></li>
|
||
<li><p><strong>$value</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">mixed</span></code></span>) – If a single key, compared to this value</p></li>
|
||
<li><p><strong>$escape</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">bool</span></code></span>) – Whether to escape values and identifiers</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code> instance (method chaining)</p>
|
||
</dd>
|
||
<dt class="field-odd">Return type</dt>
|
||
<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code></p>
|
||
</dd>
|
||
</dl>
|
||
<p>Generates the <code class="docutils literal notranslate"><span class="pre">WHERE</span></code> portion of the query. Separates multiple calls with <code class="docutils literal notranslate"><span class="pre">OR</span></code>.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="php method">
|
||
<dt class="sig sig-object php" id="CodeIgniter\Database\BaseBuilder::orWhereIn">
|
||
<span class="sig-name descname"><span class="pre">orWhereIn</span></span><span class="sig-paren">(</span><span class="optional">[</span><em class="sig-param"><span class="pre">$key</span> <span class="pre">=</span> <span class="pre">null</span></em><span class="optional">[</span>, <em class="sig-param"><span class="pre">$values</span> <span class="pre">=</span> <span class="pre">null</span></em><span class="optional">[</span>, <em class="sig-param"><span class="pre">$escape</span> <span class="pre">=</span> <span class="pre">null</span></em><span class="optional">]</span><span class="optional">]</span><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#CodeIgniter\Database\BaseBuilder::orWhereIn" title="Permalink to this definition"></a></dt>
|
||
<dd><dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>$key</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">string</span></code></span>) – The field to search</p></li>
|
||
<li><p><strong>$values</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">array|BaseBulder|Closure</span></code></span>) – Array of target values, or anonymous function for subquery</p></li>
|
||
<li><p><strong>$escape</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">bool</span></code></span>) – Whether to escape values and identifiers</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code> instance (method chaining)</p>
|
||
</dd>
|
||
<dt class="field-odd">Return type</dt>
|
||
<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code></p>
|
||
</dd>
|
||
</dl>
|
||
<p>Generates a <code class="docutils literal notranslate"><span class="pre">WHERE</span></code> field <code class="docutils literal notranslate"><span class="pre">IN('item',</span> <span class="pre">'item')</span></code> SQL query, joined with <code class="docutils literal notranslate"><span class="pre">OR</span></code> if appropriate.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="php method">
|
||
<dt class="sig sig-object php" id="CodeIgniter\Database\BaseBuilder::orWhereNotIn">
|
||
<span class="sig-name descname"><span class="pre">orWhereNotIn</span></span><span class="sig-paren">(</span><span class="optional">[</span><em class="sig-param"><span class="pre">$key</span> <span class="pre">=</span> <span class="pre">null</span></em><span class="optional">[</span>, <em class="sig-param"><span class="pre">$values</span> <span class="pre">=</span> <span class="pre">null</span></em><span class="optional">[</span>, <em class="sig-param"><span class="pre">$escape</span> <span class="pre">=</span> <span class="pre">null</span></em><span class="optional">]</span><span class="optional">]</span><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#CodeIgniter\Database\BaseBuilder::orWhereNotIn" title="Permalink to this definition"></a></dt>
|
||
<dd><dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>$key</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">string</span></code></span>) – The field to search</p></li>
|
||
<li><p><strong>$values</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">array|BaseBulder|Closure</span></code></span>) – Array of target values, or anonymous function for subquery</p></li>
|
||
<li><p><strong>$escape</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">bool</span></code></span>) – Whether to escape values and identifiers</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code> instance (method chaining)</p>
|
||
</dd>
|
||
<dt class="field-odd">Return type</dt>
|
||
<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code></p>
|
||
</dd>
|
||
</dl>
|
||
<p>Generates a <code class="docutils literal notranslate"><span class="pre">WHERE</span></code> field <code class="docutils literal notranslate"><span class="pre">NOT</span> <span class="pre">IN('item',</span> <span class="pre">'item')</span></code> SQL query, joined with <code class="docutils literal notranslate"><span class="pre">OR</span></code> if appropriate.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="php method">
|
||
<dt class="sig sig-object php" id="CodeIgniter\Database\BaseBuilder::whereIn">
|
||
<span class="sig-name descname"><span class="pre">whereIn</span></span><span class="sig-paren">(</span><span class="optional">[</span><em class="sig-param"><span class="pre">$key</span> <span class="pre">=</span> <span class="pre">null</span></em><span class="optional">[</span>, <em class="sig-param"><span class="pre">$values</span> <span class="pre">=</span> <span class="pre">null</span></em><span class="optional">[</span>, <em class="sig-param"><span class="pre">$escape</span> <span class="pre">=</span> <span class="pre">null</span></em><span class="optional">]</span><span class="optional">]</span><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#CodeIgniter\Database\BaseBuilder::whereIn" title="Permalink to this definition"></a></dt>
|
||
<dd><dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>$key</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">string</span></code></span>) – Name of field to examine</p></li>
|
||
<li><p><strong>$values</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">array|BaseBulder|Closure</span></code></span>) – Array of target values, or anonymous function for subquery</p></li>
|
||
<li><p><strong>$escape</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">bool</span></code></span>) – Whether to escape values and identifiers</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code> instance (method chaining)</p>
|
||
</dd>
|
||
<dt class="field-odd">Return type</dt>
|
||
<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code></p>
|
||
</dd>
|
||
</dl>
|
||
<p>Generates a <code class="docutils literal notranslate"><span class="pre">WHERE</span></code> field <code class="docutils literal notranslate"><span class="pre">IN('item',</span> <span class="pre">'item')</span></code> SQL query, joined with <code class="docutils literal notranslate"><span class="pre">AND</span></code> if appropriate.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="php method">
|
||
<dt class="sig sig-object php" id="CodeIgniter\Database\BaseBuilder::whereNotIn">
|
||
<span class="sig-name descname"><span class="pre">whereNotIn</span></span><span class="sig-paren">(</span><span class="optional">[</span><em class="sig-param"><span class="pre">$key</span> <span class="pre">=</span> <span class="pre">null</span></em><span class="optional">[</span>, <em class="sig-param"><span class="pre">$values</span> <span class="pre">=</span> <span class="pre">null</span></em><span class="optional">[</span>, <em class="sig-param"><span class="pre">$escape</span> <span class="pre">=</span> <span class="pre">null</span></em><span class="optional">]</span><span class="optional">]</span><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#CodeIgniter\Database\BaseBuilder::whereNotIn" title="Permalink to this definition"></a></dt>
|
||
<dd><dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>$key</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">string</span></code></span>) – Name of field to examine</p></li>
|
||
<li><p><strong>$values</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">array|BaseBulder|Closure</span></code></span>) – Array of target values, or anonymous function for subquery</p></li>
|
||
<li><p><strong>$escape</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">bool</span></code></span>) – Whether to escape values and identifiers</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code> instance (method chaining)</p>
|
||
</dd>
|
||
<dt class="field-odd">Return type</dt>
|
||
<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code></p>
|
||
</dd>
|
||
</dl>
|
||
<p>Generates a <code class="docutils literal notranslate"><span class="pre">WHERE</span></code> field <code class="docutils literal notranslate"><span class="pre">NOT</span> <span class="pre">IN('item',</span> <span class="pre">'item')</span></code> SQL query, joined with <code class="docutils literal notranslate"><span class="pre">AND</span></code> if appropriate.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="php method">
|
||
<dt class="sig sig-object php" id="CodeIgniter\Database\BaseBuilder::groupStart">
|
||
<span class="sig-name descname"><span class="pre">groupStart</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#CodeIgniter\Database\BaseBuilder::groupStart" title="Permalink to this definition"></a></dt>
|
||
<dd><dl class="field-list simple">
|
||
<dt class="field-odd">Returns</dt>
|
||
<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code> instance (method chaining)</p>
|
||
</dd>
|
||
<dt class="field-even">Return type</dt>
|
||
<dd class="field-even"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code></p>
|
||
</dd>
|
||
</dl>
|
||
<p>Starts a group expression, using <code class="docutils literal notranslate"><span class="pre">AND</span></code> for the conditions inside it.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="php method">
|
||
<dt class="sig sig-object php" id="CodeIgniter\Database\BaseBuilder::orGroupStart">
|
||
<span class="sig-name descname"><span class="pre">orGroupStart</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#CodeIgniter\Database\BaseBuilder::orGroupStart" title="Permalink to this definition"></a></dt>
|
||
<dd><dl class="field-list simple">
|
||
<dt class="field-odd">Returns</dt>
|
||
<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code> instance (method chaining)</p>
|
||
</dd>
|
||
<dt class="field-even">Return type</dt>
|
||
<dd class="field-even"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code></p>
|
||
</dd>
|
||
</dl>
|
||
<p>Starts a group expression, using <code class="docutils literal notranslate"><span class="pre">OR</span></code> for the conditions inside it.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="php method">
|
||
<dt class="sig sig-object php" id="CodeIgniter\Database\BaseBuilder::notGroupStart">
|
||
<span class="sig-name descname"><span class="pre">notGroupStart</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#CodeIgniter\Database\BaseBuilder::notGroupStart" title="Permalink to this definition"></a></dt>
|
||
<dd><dl class="field-list simple">
|
||
<dt class="field-odd">Returns</dt>
|
||
<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code> instance (method chaining)</p>
|
||
</dd>
|
||
<dt class="field-even">Return type</dt>
|
||
<dd class="field-even"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code></p>
|
||
</dd>
|
||
</dl>
|
||
<p>Starts a group expression, using <code class="docutils literal notranslate"><span class="pre">AND</span> <span class="pre">NOT</span></code> for the conditions inside it.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="php method">
|
||
<dt class="sig sig-object php" id="CodeIgniter\Database\BaseBuilder::orNotGroupStart">
|
||
<span class="sig-name descname"><span class="pre">orNotGroupStart</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#CodeIgniter\Database\BaseBuilder::orNotGroupStart" title="Permalink to this definition"></a></dt>
|
||
<dd><dl class="field-list simple">
|
||
<dt class="field-odd">Returns</dt>
|
||
<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code> instance (method chaining)</p>
|
||
</dd>
|
||
<dt class="field-even">Return type</dt>
|
||
<dd class="field-even"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code></p>
|
||
</dd>
|
||
</dl>
|
||
<p>Starts a group expression, using <code class="docutils literal notranslate"><span class="pre">OR</span> <span class="pre">NOT</span></code> for the conditions inside it.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="php method">
|
||
<dt class="sig sig-object php" id="CodeIgniter\Database\BaseBuilder::groupEnd">
|
||
<span class="sig-name descname"><span class="pre">groupEnd</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#CodeIgniter\Database\BaseBuilder::groupEnd" title="Permalink to this definition"></a></dt>
|
||
<dd><dl class="field-list simple">
|
||
<dt class="field-odd">Returns</dt>
|
||
<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code> instance (method chaining)</p>
|
||
</dd>
|
||
<dt class="field-even">Return type</dt>
|
||
<dd class="field-even"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code></p>
|
||
</dd>
|
||
</dl>
|
||
<p>Ends a group expression.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="php method">
|
||
<dt class="sig sig-object php" id="CodeIgniter\Database\BaseBuilder::like">
|
||
<span class="sig-name descname"><span class="pre">like</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="pre">$field</span></em><span class="optional">[</span>, <em class="sig-param"><span class="pre">$match</span> <span class="pre">=</span> <span class="pre">''</span></em><span class="optional">[</span>, <em class="sig-param"><span class="pre">$side</span> <span class="pre">=</span> <span class="pre">'both'</span></em><span class="optional">[</span>, <em class="sig-param"><span class="pre">$escape</span> <span class="pre">=</span> <span class="pre">null</span></em><span class="optional">[</span>, <em class="sig-param"><span class="pre">$insensitiveSearch</span> <span class="pre">=</span> <span class="pre">false</span></em><span class="optional">]</span><span class="optional">]</span><span class="optional">]</span><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#CodeIgniter\Database\BaseBuilder::like" title="Permalink to this definition"></a></dt>
|
||
<dd><dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>$field</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">array|RawSql|string</span></code></span>) – Field name</p></li>
|
||
<li><p><strong>$match</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">string</span></code></span>) – Text portion to match</p></li>
|
||
<li><p><strong>$side</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">string</span></code></span>) – Which side of the expression to put the ‘%’ wildcard on</p></li>
|
||
<li><p><strong>$escape</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">bool</span></code></span>) – Whether to escape values and identifiers</p></li>
|
||
<li><p><strong>$insensitiveSearch</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">bool</span></code></span>) – Whether to force a case-insensitive search</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code> instance (method chaining)</p>
|
||
</dd>
|
||
<dt class="field-odd">Return type</dt>
|
||
<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code></p>
|
||
</dd>
|
||
</dl>
|
||
<p>Adds a <code class="docutils literal notranslate"><span class="pre">LIKE</span></code> clause to a query, separating multiple calls with <code class="docutils literal notranslate"><span class="pre">AND</span></code>.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="php method">
|
||
<dt class="sig sig-object php" id="CodeIgniter\Database\BaseBuilder::orLike">
|
||
<span class="sig-name descname"><span class="pre">orLike</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="pre">$field</span></em><span class="optional">[</span>, <em class="sig-param"><span class="pre">$match</span> <span class="pre">=</span> <span class="pre">''</span></em><span class="optional">[</span>, <em class="sig-param"><span class="pre">$side</span> <span class="pre">=</span> <span class="pre">'both'</span></em><span class="optional">[</span>, <em class="sig-param"><span class="pre">$escape</span> <span class="pre">=</span> <span class="pre">null</span></em><span class="optional">[</span>, <em class="sig-param"><span class="pre">$insensitiveSearch</span> <span class="pre">=</span> <span class="pre">false</span></em><span class="optional">]</span><span class="optional">]</span><span class="optional">]</span><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#CodeIgniter\Database\BaseBuilder::orLike" title="Permalink to this definition"></a></dt>
|
||
<dd><dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>$field</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">string</span></code></span>) – Field name</p></li>
|
||
<li><p><strong>$match</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">string</span></code></span>) – Text portion to match</p></li>
|
||
<li><p><strong>$side</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">string</span></code></span>) – Which side of the expression to put the ‘%’ wildcard on</p></li>
|
||
<li><p><strong>$escape</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">bool</span></code></span>) – Whether to escape values and identifiers</p></li>
|
||
<li><p><strong>$insensitiveSearch</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">bool</span></code></span>) – Whether to force a case-insensitive search</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code> instance (method chaining)</p>
|
||
</dd>
|
||
<dt class="field-odd">Return type</dt>
|
||
<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code></p>
|
||
</dd>
|
||
</dl>
|
||
<p>Adds a <code class="docutils literal notranslate"><span class="pre">LIKE</span></code> clause to a query, separating multiple class with <code class="docutils literal notranslate"><span class="pre">OR</span></code>.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="php method">
|
||
<dt class="sig sig-object php" id="CodeIgniter\Database\BaseBuilder::notLike">
|
||
<span class="sig-name descname"><span class="pre">notLike</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="pre">$field</span></em><span class="optional">[</span>, <em class="sig-param"><span class="pre">$match</span> <span class="pre">=</span> <span class="pre">''</span></em><span class="optional">[</span>, <em class="sig-param"><span class="pre">$side</span> <span class="pre">=</span> <span class="pre">'both'</span></em><span class="optional">[</span>, <em class="sig-param"><span class="pre">$escape</span> <span class="pre">=</span> <span class="pre">null</span></em><span class="optional">[</span>, <em class="sig-param"><span class="pre">$insensitiveSearch</span> <span class="pre">=</span> <span class="pre">false</span></em><span class="optional">]</span><span class="optional">]</span><span class="optional">]</span><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#CodeIgniter\Database\BaseBuilder::notLike" title="Permalink to this definition"></a></dt>
|
||
<dd><dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>$field</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">string</span></code></span>) – Field name</p></li>
|
||
<li><p><strong>$match</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">string</span></code></span>) – Text portion to match</p></li>
|
||
<li><p><strong>$side</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">string</span></code></span>) – Which side of the expression to put the ‘%’ wildcard on</p></li>
|
||
<li><p><strong>$escape</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">bool</span></code></span>) – Whether to escape values and identifiers</p></li>
|
||
<li><p><strong>$insensitiveSearch</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">bool</span></code></span>) – Whether to force a case-insensitive search</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code> instance (method chaining)</p>
|
||
</dd>
|
||
<dt class="field-odd">Return type</dt>
|
||
<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code></p>
|
||
</dd>
|
||
</dl>
|
||
<p>Adds a <code class="docutils literal notranslate"><span class="pre">NOT</span> <span class="pre">LIKE</span></code> clause to a query, separating multiple calls with <code class="docutils literal notranslate"><span class="pre">AND</span></code>.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="php method">
|
||
<dt class="sig sig-object php" id="CodeIgniter\Database\BaseBuilder::orNotLike">
|
||
<span class="sig-name descname"><span class="pre">orNotLike</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="pre">$field</span></em><span class="optional">[</span>, <em class="sig-param"><span class="pre">$match</span> <span class="pre">=</span> <span class="pre">''</span></em><span class="optional">[</span>, <em class="sig-param"><span class="pre">$side</span> <span class="pre">=</span> <span class="pre">'both'</span></em><span class="optional">[</span>, <em class="sig-param"><span class="pre">$escape</span> <span class="pre">=</span> <span class="pre">null</span></em><span class="optional">[</span>, <em class="sig-param"><span class="pre">$insensitiveSearch</span> <span class="pre">=</span> <span class="pre">false</span></em><span class="optional">]</span><span class="optional">]</span><span class="optional">]</span><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#CodeIgniter\Database\BaseBuilder::orNotLike" title="Permalink to this definition"></a></dt>
|
||
<dd><dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>$field</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">string</span></code></span>) – Field name</p></li>
|
||
<li><p><strong>$match</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">string</span></code></span>) – Text portion to match</p></li>
|
||
<li><p><strong>$side</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">string</span></code></span>) – Which side of the expression to put the ‘%’ wildcard on</p></li>
|
||
<li><p><strong>$escape</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">bool</span></code></span>) – Whether to escape values and identifiers</p></li>
|
||
<li><p><strong>$insensitiveSearch</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">bool</span></code></span>) – Whether to force a case-insensitive search</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code> instance (method chaining)</p>
|
||
</dd>
|
||
<dt class="field-odd">Return type</dt>
|
||
<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code></p>
|
||
</dd>
|
||
</dl>
|
||
<p>Adds a <code class="docutils literal notranslate"><span class="pre">NOT</span> <span class="pre">LIKE</span></code> clause to a query, separating multiple calls with <code class="docutils literal notranslate"><span class="pre">OR</span></code>.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="php method">
|
||
<dt class="sig sig-object php" id="CodeIgniter\Database\BaseBuilder::having">
|
||
<span class="sig-name descname"><span class="pre">having</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="pre">$key</span></em><span class="optional">[</span>, <em class="sig-param"><span class="pre">$value</span> <span class="pre">=</span> <span class="pre">null</span></em><span class="optional">[</span>, <em class="sig-param"><span class="pre">$escape</span> <span class="pre">=</span> <span class="pre">null</span></em><span class="optional">]</span><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#CodeIgniter\Database\BaseBuilder::having" title="Permalink to this definition"></a></dt>
|
||
<dd><dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>$key</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">mixed</span></code></span>) – Identifier (string) or associative array of field/value pairs</p></li>
|
||
<li><p><strong>$value</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">string</span></code></span>) – Value sought if $key is an identifier</p></li>
|
||
<li><p><strong>$escape</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">string</span></code></span>) – Whether to escape values and identifiers</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code> instance (method chaining)</p>
|
||
</dd>
|
||
<dt class="field-odd">Return type</dt>
|
||
<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code></p>
|
||
</dd>
|
||
</dl>
|
||
<p>Adds a <code class="docutils literal notranslate"><span class="pre">HAVING</span></code> clause to a query, separating multiple calls with <code class="docutils literal notranslate"><span class="pre">AND</span></code>.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="php method">
|
||
<dt class="sig sig-object php" id="CodeIgniter\Database\BaseBuilder::orHaving">
|
||
<span class="sig-name descname"><span class="pre">orHaving</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="pre">$key</span></em><span class="optional">[</span>, <em class="sig-param"><span class="pre">$value</span> <span class="pre">=</span> <span class="pre">null</span></em><span class="optional">[</span>, <em class="sig-param"><span class="pre">$escape</span> <span class="pre">=</span> <span class="pre">null</span></em><span class="optional">]</span><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#CodeIgniter\Database\BaseBuilder::orHaving" title="Permalink to this definition"></a></dt>
|
||
<dd><dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>$key</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">mixed</span></code></span>) – Identifier (string) or associative array of field/value pairs</p></li>
|
||
<li><p><strong>$value</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">string</span></code></span>) – Value sought if $key is an identifier</p></li>
|
||
<li><p><strong>$escape</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">string</span></code></span>) – Whether to escape values and identifiers</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code> instance (method chaining)</p>
|
||
</dd>
|
||
<dt class="field-odd">Return type</dt>
|
||
<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code></p>
|
||
</dd>
|
||
</dl>
|
||
<p>Adds a <code class="docutils literal notranslate"><span class="pre">HAVING</span></code> clause to a query, separating multiple calls with <code class="docutils literal notranslate"><span class="pre">OR</span></code>.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="php method">
|
||
<dt class="sig sig-object php" id="CodeIgniter\Database\BaseBuilder::orHavingIn">
|
||
<span class="sig-name descname"><span class="pre">orHavingIn</span></span><span class="sig-paren">(</span><span class="optional">[</span><em class="sig-param"><span class="pre">$key</span> <span class="pre">=</span> <span class="pre">null</span></em><span class="optional">[</span>, <em class="sig-param"><span class="pre">$values</span> <span class="pre">=</span> <span class="pre">null</span></em><span class="optional">[</span>, <em class="sig-param"><span class="pre">$escape</span> <span class="pre">=</span> <span class="pre">null</span></em><span class="optional">]</span><span class="optional">]</span><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#CodeIgniter\Database\BaseBuilder::orHavingIn" title="Permalink to this definition"></a></dt>
|
||
<dd><dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>$key</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">string</span></code></span>) – The field to search</p></li>
|
||
<li><p><strong>$values</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">array|BaseBulder|Closure</span></code></span>) – Array of target values, or anonymous function for subquery</p></li>
|
||
<li><p><strong>$escape</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">bool</span></code></span>) – Whether to escape values and identifiers</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code> instance (method chaining)</p>
|
||
</dd>
|
||
<dt class="field-odd">Return type</dt>
|
||
<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code></p>
|
||
</dd>
|
||
</dl>
|
||
<p>Generates a <code class="docutils literal notranslate"><span class="pre">HAVING</span></code> field IN(‘item’, ‘item’) SQL query, joined with <code class="docutils literal notranslate"><span class="pre">OR</span></code> if appropriate.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="php method">
|
||
<dt class="sig sig-object php" id="CodeIgniter\Database\BaseBuilder::orHavingNotIn">
|
||
<span class="sig-name descname"><span class="pre">orHavingNotIn</span></span><span class="sig-paren">(</span><span class="optional">[</span><em class="sig-param"><span class="pre">$key</span> <span class="pre">=</span> <span class="pre">null</span></em><span class="optional">[</span>, <em class="sig-param"><span class="pre">$values</span> <span class="pre">=</span> <span class="pre">null</span></em><span class="optional">[</span>, <em class="sig-param"><span class="pre">$escape</span> <span class="pre">=</span> <span class="pre">null</span></em><span class="optional">]</span><span class="optional">]</span><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#CodeIgniter\Database\BaseBuilder::orHavingNotIn" title="Permalink to this definition"></a></dt>
|
||
<dd><dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>$key</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">string</span></code></span>) – The field to search</p></li>
|
||
<li><p><strong>$values</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">array|BaseBulder|Closure</span></code></span>) – Array of target values, or anonymous function for subquery</p></li>
|
||
<li><p><strong>$escape</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">bool</span></code></span>) – Whether to escape values and identifiers</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code> instance (method chaining)</p>
|
||
</dd>
|
||
<dt class="field-odd">Return type</dt>
|
||
<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code></p>
|
||
</dd>
|
||
</dl>
|
||
<p>Generates a <code class="docutils literal notranslate"><span class="pre">HAVING</span></code> field <code class="docutils literal notranslate"><span class="pre">NOT</span> <span class="pre">IN('item',</span> <span class="pre">'item')</span></code> SQL query, joined with <code class="docutils literal notranslate"><span class="pre">OR</span></code> if appropriate.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="php method">
|
||
<dt class="sig sig-object php" id="CodeIgniter\Database\BaseBuilder::havingIn">
|
||
<span class="sig-name descname"><span class="pre">havingIn</span></span><span class="sig-paren">(</span><span class="optional">[</span><em class="sig-param"><span class="pre">$key</span> <span class="pre">=</span> <span class="pre">null</span></em><span class="optional">[</span>, <em class="sig-param"><span class="pre">$values</span> <span class="pre">=</span> <span class="pre">null</span></em><span class="optional">[</span>, <em class="sig-param"><span class="pre">$escape</span> <span class="pre">=</span> <span class="pre">null</span></em><span class="optional">]</span><span class="optional">]</span><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#CodeIgniter\Database\BaseBuilder::havingIn" title="Permalink to this definition"></a></dt>
|
||
<dd><dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>$key</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">string</span></code></span>) – Name of field to examine</p></li>
|
||
<li><p><strong>$values</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">array|BaseBulder|Closure</span></code></span>) – Array of target values, or anonymous function for subquery</p></li>
|
||
<li><p><strong>$escape</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">bool</span></code></span>) – Whether to escape values and identifiers</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code> instance (method chaining)</p>
|
||
</dd>
|
||
<dt class="field-odd">Return type</dt>
|
||
<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code></p>
|
||
</dd>
|
||
</dl>
|
||
<p>Generates a <code class="docutils literal notranslate"><span class="pre">HAVING</span></code> field <code class="docutils literal notranslate"><span class="pre">IN('item',</span> <span class="pre">'item')</span></code> SQL query, joined with <code class="docutils literal notranslate"><span class="pre">AND</span></code> if appropriate.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="php method">
|
||
<dt class="sig sig-object php" id="CodeIgniter\Database\BaseBuilder::havingNotIn">
|
||
<span class="sig-name descname"><span class="pre">havingNotIn</span></span><span class="sig-paren">(</span><span class="optional">[</span><em class="sig-param"><span class="pre">$key</span> <span class="pre">=</span> <span class="pre">null</span></em><span class="optional">[</span>, <em class="sig-param"><span class="pre">$values</span> <span class="pre">=</span> <span class="pre">null</span></em><span class="optional">[</span>, <em class="sig-param"><span class="pre">$escape</span> <span class="pre">=</span> <span class="pre">null</span></em><span class="optional">]</span><span class="optional">]</span><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#CodeIgniter\Database\BaseBuilder::havingNotIn" title="Permalink to this definition"></a></dt>
|
||
<dd><dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>$key</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">string</span></code></span>) – Name of field to examine</p></li>
|
||
<li><p><strong>$values</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">array|BaseBulder|Closure</span></code></span>) – Array of target values, or anonymous function for subquery</p></li>
|
||
<li><p><strong>$escape</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">bool</span></code></span>) – Whether to escape values and identifiers</p></li>
|
||
<li><p><strong>$insensitiveSearch</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">bool</span></code></span>) – Whether to force a case-insensitive search</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code> instance (method chaining)</p>
|
||
</dd>
|
||
<dt class="field-odd">Return type</dt>
|
||
<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code></p>
|
||
</dd>
|
||
</dl>
|
||
<p>Generates a <code class="docutils literal notranslate"><span class="pre">HAVING</span></code> field <code class="docutils literal notranslate"><span class="pre">NOT</span> <span class="pre">IN('item',</span> <span class="pre">'item')</span></code> SQL query, joined with <code class="docutils literal notranslate"><span class="pre">AND</span></code> if appropriate.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="php method">
|
||
<dt class="sig sig-object php" id="CodeIgniter\Database\BaseBuilder::havingLike">
|
||
<span class="sig-name descname"><span class="pre">havingLike</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="pre">$field</span></em><span class="optional">[</span>, <em class="sig-param"><span class="pre">$match</span> <span class="pre">=</span> <span class="pre">''</span></em><span class="optional">[</span>, <em class="sig-param"><span class="pre">$side</span> <span class="pre">=</span> <span class="pre">'both'</span></em><span class="optional">[</span>, <em class="sig-param"><span class="pre">$escape</span> <span class="pre">=</span> <span class="pre">null</span></em><span class="optional">[</span>, <em class="sig-param"><span class="pre">$insensitiveSearch</span> <span class="pre">=</span> <span class="pre">false</span></em><span class="optional">]</span><span class="optional">]</span><span class="optional">]</span><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#CodeIgniter\Database\BaseBuilder::havingLike" title="Permalink to this definition"></a></dt>
|
||
<dd><dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>$field</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">string</span></code></span>) – Field name</p></li>
|
||
<li><p><strong>$match</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">string</span></code></span>) – Text portion to match</p></li>
|
||
<li><p><strong>$side</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">string</span></code></span>) – Which side of the expression to put the ‘%’ wildcard on</p></li>
|
||
<li><p><strong>$escape</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">bool</span></code></span>) – Whether to escape values and identifiers</p></li>
|
||
<li><p><strong>$insensitiveSearch</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">bool</span></code></span>) – Whether to force a case-insensitive search</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code> instance (method chaining)</p>
|
||
</dd>
|
||
<dt class="field-odd">Return type</dt>
|
||
<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code></p>
|
||
</dd>
|
||
</dl>
|
||
<p>Adds a <code class="docutils literal notranslate"><span class="pre">LIKE</span></code> clause to a <code class="docutils literal notranslate"><span class="pre">HAVING</span></code> part of the query, separating multiple calls with <code class="docutils literal notranslate"><span class="pre">AND</span></code>.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="php method">
|
||
<dt class="sig sig-object php" id="CodeIgniter\Database\BaseBuilder::orHavingLike">
|
||
<span class="sig-name descname"><span class="pre">orHavingLike</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="pre">$field</span></em><span class="optional">[</span>, <em class="sig-param"><span class="pre">$match</span> <span class="pre">=</span> <span class="pre">''</span></em><span class="optional">[</span>, <em class="sig-param"><span class="pre">$side</span> <span class="pre">=</span> <span class="pre">'both'</span></em><span class="optional">[</span>, <em class="sig-param"><span class="pre">$escape</span> <span class="pre">=</span> <span class="pre">null</span></em><span class="optional">[</span>, <em class="sig-param"><span class="pre">$insensitiveSearch</span> <span class="pre">=</span> <span class="pre">false</span></em><span class="optional">]</span><span class="optional">]</span><span class="optional">]</span><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#CodeIgniter\Database\BaseBuilder::orHavingLike" title="Permalink to this definition"></a></dt>
|
||
<dd><dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>$field</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">string</span></code></span>) – Field name</p></li>
|
||
<li><p><strong>$match</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">string</span></code></span>) – Text portion to match</p></li>
|
||
<li><p><strong>$side</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">string</span></code></span>) – Which side of the expression to put the ‘%’ wildcard on</p></li>
|
||
<li><p><strong>$escape</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">bool</span></code></span>) – Whether to escape values and identifiers</p></li>
|
||
<li><p><strong>$insensitiveSearch</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">bool</span></code></span>) – Whether to force a case-insensitive search</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code> instance (method chaining)</p>
|
||
</dd>
|
||
<dt class="field-odd">Return type</dt>
|
||
<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code></p>
|
||
</dd>
|
||
</dl>
|
||
<p>Adds a <code class="docutils literal notranslate"><span class="pre">LIKE</span></code> clause to a <code class="docutils literal notranslate"><span class="pre">HAVING</span></code> part of the query, separating multiple class with <code class="docutils literal notranslate"><span class="pre">OR</span></code>.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="php method">
|
||
<dt class="sig sig-object php" id="CodeIgniter\Database\BaseBuilder::notHavingLike">
|
||
<span class="sig-name descname"><span class="pre">notHavingLike</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="pre">$field</span></em><span class="optional">[</span>, <em class="sig-param"><span class="pre">$match</span> <span class="pre">=</span> <span class="pre">''</span></em><span class="optional">[</span>, <em class="sig-param"><span class="pre">$side</span> <span class="pre">=</span> <span class="pre">'both'</span></em><span class="optional">[</span>, <em class="sig-param"><span class="pre">$escape</span> <span class="pre">=</span> <span class="pre">null</span></em><span class="optional">[</span>, <em class="sig-param"><span class="pre">$insensitiveSearch</span> <span class="pre">=</span> <span class="pre">false</span></em><span class="optional">]</span><span class="optional">]</span><span class="optional">]</span><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#CodeIgniter\Database\BaseBuilder::notHavingLike" title="Permalink to this definition"></a></dt>
|
||
<dd><dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>$field</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">string</span></code></span>) – Field name</p></li>
|
||
<li><p><strong>$match</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">string</span></code></span>) – Text portion to match</p></li>
|
||
<li><p><strong>$side</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">string</span></code></span>) – Which side of the expression to put the ‘%’ wildcard on</p></li>
|
||
<li><p><strong>$escape</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">bool</span></code></span>) – Whether to escape values and identifiers</p></li>
|
||
<li><p><strong>$insensitiveSearch</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">bool</span></code></span>) – Whether to force a case-insensitive search</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code> instance (method chaining)</p>
|
||
</dd>
|
||
<dt class="field-odd">Return type</dt>
|
||
<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code></p>
|
||
</dd>
|
||
</dl>
|
||
<p>Adds a <code class="docutils literal notranslate"><span class="pre">NOT</span> <span class="pre">LIKE</span></code> clause to a <code class="docutils literal notranslate"><span class="pre">HAVING</span></code> part of the query, separating multiple calls with <code class="docutils literal notranslate"><span class="pre">AND</span></code>.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="php method">
|
||
<dt class="sig sig-object php" id="CodeIgniter\Database\BaseBuilder::orNotHavingLike">
|
||
<span class="sig-name descname"><span class="pre">orNotHavingLike</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="pre">$field</span></em><span class="optional">[</span>, <em class="sig-param"><span class="pre">$match</span> <span class="pre">=</span> <span class="pre">''</span></em><span class="optional">[</span>, <em class="sig-param"><span class="pre">$side</span> <span class="pre">=</span> <span class="pre">'both'</span></em><span class="optional">[</span>, <em class="sig-param"><span class="pre">$escape</span> <span class="pre">=</span> <span class="pre">null</span></em><span class="optional">[</span>, <em class="sig-param"><span class="pre">$insensitiveSearch</span> <span class="pre">=</span> <span class="pre">false</span></em><span class="optional">]</span><span class="optional">]</span><span class="optional">]</span><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#CodeIgniter\Database\BaseBuilder::orNotHavingLike" title="Permalink to this definition"></a></dt>
|
||
<dd><dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>$field</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">string</span></code></span>) – Field name</p></li>
|
||
<li><p><strong>$match</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">string</span></code></span>) – Text portion to match</p></li>
|
||
<li><p><strong>$side</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">string</span></code></span>) – Which side of the expression to put the ‘%’ wildcard on</p></li>
|
||
<li><p><strong>$escape</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">bool</span></code></span>) – Whether to escape values and identifiers</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code> instance (method chaining)</p>
|
||
</dd>
|
||
<dt class="field-odd">Return type</dt>
|
||
<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code></p>
|
||
</dd>
|
||
</dl>
|
||
<p>Adds a <code class="docutils literal notranslate"><span class="pre">NOT</span> <span class="pre">LIKE</span></code> clause to a <code class="docutils literal notranslate"><span class="pre">HAVING</span></code> part of the query, separating multiple calls with <code class="docutils literal notranslate"><span class="pre">OR</span></code>.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="php method">
|
||
<dt class="sig sig-object php" id="CodeIgniter\Database\BaseBuilder::havingGroupStart">
|
||
<span class="sig-name descname"><span class="pre">havingGroupStart</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#CodeIgniter\Database\BaseBuilder::havingGroupStart" title="Permalink to this definition"></a></dt>
|
||
<dd><dl class="field-list simple">
|
||
<dt class="field-odd">Returns</dt>
|
||
<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code> instance (method chaining)</p>
|
||
</dd>
|
||
<dt class="field-even">Return type</dt>
|
||
<dd class="field-even"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code></p>
|
||
</dd>
|
||
</dl>
|
||
<p>Starts a group expression for <code class="docutils literal notranslate"><span class="pre">HAVING</span></code> clause, using <code class="docutils literal notranslate"><span class="pre">AND</span></code> for the conditions inside it.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="php method">
|
||
<dt class="sig sig-object php" id="CodeIgniter\Database\BaseBuilder::orHavingGroupStart">
|
||
<span class="sig-name descname"><span class="pre">orHavingGroupStart</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#CodeIgniter\Database\BaseBuilder::orHavingGroupStart" title="Permalink to this definition"></a></dt>
|
||
<dd><dl class="field-list simple">
|
||
<dt class="field-odd">Returns</dt>
|
||
<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code> instance (method chaining)</p>
|
||
</dd>
|
||
<dt class="field-even">Return type</dt>
|
||
<dd class="field-even"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code></p>
|
||
</dd>
|
||
</dl>
|
||
<p>Starts a group expression for <code class="docutils literal notranslate"><span class="pre">HAVING</span></code> clause, using <code class="docutils literal notranslate"><span class="pre">OR</span></code> for the conditions inside it.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="php method">
|
||
<dt class="sig sig-object php" id="CodeIgniter\Database\BaseBuilder::notHavingGroupStart">
|
||
<span class="sig-name descname"><span class="pre">notHavingGroupStart</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#CodeIgniter\Database\BaseBuilder::notHavingGroupStart" title="Permalink to this definition"></a></dt>
|
||
<dd><dl class="field-list simple">
|
||
<dt class="field-odd">Returns</dt>
|
||
<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code> instance (method chaining)</p>
|
||
</dd>
|
||
<dt class="field-even">Return type</dt>
|
||
<dd class="field-even"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code></p>
|
||
</dd>
|
||
</dl>
|
||
<p>Starts a group expression for <code class="docutils literal notranslate"><span class="pre">HAVING</span></code> clause, using <code class="docutils literal notranslate"><span class="pre">AND</span> <span class="pre">NOT</span></code> for the conditions inside it.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="php method">
|
||
<dt class="sig sig-object php" id="CodeIgniter\Database\BaseBuilder::orNotHavingGroupStart">
|
||
<span class="sig-name descname"><span class="pre">orNotHavingGroupStart</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#CodeIgniter\Database\BaseBuilder::orNotHavingGroupStart" title="Permalink to this definition"></a></dt>
|
||
<dd><dl class="field-list simple">
|
||
<dt class="field-odd">Returns</dt>
|
||
<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code> instance (method chaining)</p>
|
||
</dd>
|
||
<dt class="field-even">Return type</dt>
|
||
<dd class="field-even"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code></p>
|
||
</dd>
|
||
</dl>
|
||
<p>Starts a group expression for <code class="docutils literal notranslate"><span class="pre">HAVING</span></code> clause, using <code class="docutils literal notranslate"><span class="pre">OR</span> <span class="pre">NOT</span></code> for the conditions inside it.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="php method">
|
||
<dt class="sig sig-object php" id="CodeIgniter\Database\BaseBuilder::havingGroupEnd">
|
||
<span class="sig-name descname"><span class="pre">havingGroupEnd</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#CodeIgniter\Database\BaseBuilder::havingGroupEnd" title="Permalink to this definition"></a></dt>
|
||
<dd><dl class="field-list simple">
|
||
<dt class="field-odd">Returns</dt>
|
||
<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code> instance (method chaining)</p>
|
||
</dd>
|
||
<dt class="field-even">Return type</dt>
|
||
<dd class="field-even"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code></p>
|
||
</dd>
|
||
</dl>
|
||
<p>Ends a group expression for <code class="docutils literal notranslate"><span class="pre">HAVING</span></code> clause.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="php method">
|
||
<dt class="sig sig-object php" id="CodeIgniter\Database\BaseBuilder::groupBy">
|
||
<span class="sig-name descname"><span class="pre">groupBy</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="pre">$by</span></em><span class="optional">[</span>, <em class="sig-param"><span class="pre">$escape</span> <span class="pre">=</span> <span class="pre">null</span></em><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#CodeIgniter\Database\BaseBuilder::groupBy" title="Permalink to this definition"></a></dt>
|
||
<dd><dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>$by</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">mixed</span></code></span>) – Field(s) to group by; string or array</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code> instance (method chaining)</p>
|
||
</dd>
|
||
<dt class="field-odd">Return type</dt>
|
||
<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code></p>
|
||
</dd>
|
||
</dl>
|
||
<p>Adds a <code class="docutils literal notranslate"><span class="pre">GROUP</span> <span class="pre">BY</span></code> clause to a query.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="php method">
|
||
<dt class="sig sig-object php" id="CodeIgniter\Database\BaseBuilder::orderBy">
|
||
<span class="sig-name descname"><span class="pre">orderBy</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="pre">$orderby</span></em><span class="optional">[</span>, <em class="sig-param"><span class="pre">$direction</span> <span class="pre">=</span> <span class="pre">''</span></em><span class="optional">[</span>, <em class="sig-param"><span class="pre">$escape</span> <span class="pre">=</span> <span class="pre">null</span></em><span class="optional">]</span><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#CodeIgniter\Database\BaseBuilder::orderBy" title="Permalink to this definition"></a></dt>
|
||
<dd><dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>$orderby</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">string</span></code></span>) – Field to order by</p></li>
|
||
<li><p><strong>$direction</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">string</span></code></span>) – The order requested - ASC, DESC or random</p></li>
|
||
<li><p><strong>$escape</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">bool</span></code></span>) – Whether to escape values and identifiers</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code> instance (method chaining)</p>
|
||
</dd>
|
||
<dt class="field-odd">Return type</dt>
|
||
<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code></p>
|
||
</dd>
|
||
</dl>
|
||
<p>Adds an <code class="docutils literal notranslate"><span class="pre">ORDER</span> <span class="pre">BY</span></code> clause to a query.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="php method">
|
||
<dt class="sig sig-object php" id="CodeIgniter\Database\BaseBuilder::limit">
|
||
<span class="sig-name descname"><span class="pre">limit</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="pre">$value</span></em><span class="optional">[</span>, <em class="sig-param"><span class="pre">$offset</span> <span class="pre">=</span> <span class="pre">0</span></em><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#CodeIgniter\Database\BaseBuilder::limit" title="Permalink to this definition"></a></dt>
|
||
<dd><dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>$value</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">int</span></code></span>) – Number of rows to limit the results to</p></li>
|
||
<li><p><strong>$offset</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">int</span></code></span>) – Number of rows to skip</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code> instance (method chaining)</p>
|
||
</dd>
|
||
<dt class="field-odd">Return type</dt>
|
||
<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code></p>
|
||
</dd>
|
||
</dl>
|
||
<p>Adds <code class="docutils literal notranslate"><span class="pre">LIMIT</span></code> and <code class="docutils literal notranslate"><span class="pre">OFFSET</span></code> clauses to a query.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="php method">
|
||
<dt class="sig sig-object php" id="CodeIgniter\Database\BaseBuilder::offset">
|
||
<span class="sig-name descname"><span class="pre">offset</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="pre">$offset</span></em><span class="sig-paren">)</span><a class="headerlink" href="#CodeIgniter\Database\BaseBuilder::offset" title="Permalink to this definition"></a></dt>
|
||
<dd><dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>$offset</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">int</span></code></span>) – Number of rows to skip</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code> instance (method chaining)</p>
|
||
</dd>
|
||
<dt class="field-odd">Return type</dt>
|
||
<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code></p>
|
||
</dd>
|
||
</dl>
|
||
<p>Adds an <code class="docutils literal notranslate"><span class="pre">OFFSET</span></code> clause to a query.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="php method">
|
||
<dt class="sig sig-object php" id="CodeIgniter\Database\BaseBuilder::union">
|
||
<span class="sig-name descname"><span class="pre">union</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="pre">$union</span></em><span class="sig-paren">)</span><a class="headerlink" href="#CodeIgniter\Database\BaseBuilder::union" title="Permalink to this definition"></a></dt>
|
||
<dd><dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>$union</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">BaseBulder|Closure</span></code></span>) – Union query</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code> instance (method chaining)</p>
|
||
</dd>
|
||
<dt class="field-odd">Return type</dt>
|
||
<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code></p>
|
||
</dd>
|
||
</dl>
|
||
<p>Adds a <code class="docutils literal notranslate"><span class="pre">UNION</span></code> clause.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="php method">
|
||
<dt class="sig sig-object php" id="CodeIgniter\Database\BaseBuilder::unionAll">
|
||
<span class="sig-name descname"><span class="pre">unionAll</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="pre">$union</span></em><span class="sig-paren">)</span><a class="headerlink" href="#CodeIgniter\Database\BaseBuilder::unionAll" title="Permalink to this definition"></a></dt>
|
||
<dd><dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>$union</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">BaseBulder|Closure</span></code></span>) – Union query</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code> instance (method chaining)</p>
|
||
</dd>
|
||
<dt class="field-odd">Return type</dt>
|
||
<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code></p>
|
||
</dd>
|
||
</dl>
|
||
<p>Adds a <code class="docutils literal notranslate"><span class="pre">UNION</span> <span class="pre">ALL</span></code> clause.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="php method">
|
||
<dt class="sig sig-object php" id="CodeIgniter\Database\BaseBuilder::set">
|
||
<span class="sig-name descname"><span class="pre">set</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="pre">$key</span></em><span class="optional">[</span>, <em class="sig-param"><span class="pre">$value</span> <span class="pre">=</span> <span class="pre">''</span></em><span class="optional">[</span>, <em class="sig-param"><span class="pre">$escape</span> <span class="pre">=</span> <span class="pre">null</span></em><span class="optional">]</span><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#CodeIgniter\Database\BaseBuilder::set" title="Permalink to this definition"></a></dt>
|
||
<dd><dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>$key</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">mixed</span></code></span>) – Field name, or an array of field/value pairs</p></li>
|
||
<li><p><strong>$value</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">mixed</span></code></span>) – Field value, if $key is a single field</p></li>
|
||
<li><p><strong>$escape</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">bool</span></code></span>) – Whether to escape values</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code> instance (method chaining)</p>
|
||
</dd>
|
||
<dt class="field-odd">Return type</dt>
|
||
<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code></p>
|
||
</dd>
|
||
</dl>
|
||
<p>Adds field/value pairs to be passed later to <code class="docutils literal notranslate"><span class="pre">insert()</span></code>, <code class="docutils literal notranslate"><span class="pre">update()</span></code> or <code class="docutils literal notranslate"><span class="pre">replace()</span></code>.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="php method">
|
||
<dt class="sig sig-object php" id="CodeIgniter\Database\BaseBuilder::insert">
|
||
<span class="sig-name descname"><span class="pre">insert</span></span><span class="sig-paren">(</span><span class="optional">[</span><em class="sig-param"><span class="pre">$set</span> <span class="pre">=</span> <span class="pre">null</span></em><span class="optional">[</span>, <em class="sig-param"><span class="pre">$escape</span> <span class="pre">=</span> <span class="pre">null</span></em><span class="optional">]</span><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#CodeIgniter\Database\BaseBuilder::insert" title="Permalink to this definition"></a></dt>
|
||
<dd><dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>$set</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">array</span></code></span>) – An associative array of field/value pairs</p></li>
|
||
<li><p><strong>$escape</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">bool</span></code></span>) – Whether to escape values</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p><code class="docutils literal notranslate"><span class="pre">true</span></code> on success, <code class="docutils literal notranslate"><span class="pre">false</span></code> on failure</p>
|
||
</dd>
|
||
<dt class="field-odd">Return type</dt>
|
||
<dd class="field-odd"><p><span><code class="xref php php-obj docutils literal notranslate"><span class="pre">bool</span></code></span></p>
|
||
</dd>
|
||
</dl>
|
||
<p>Compiles and executes an <code class="docutils literal notranslate"><span class="pre">INSERT</span></code> statement.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="php method">
|
||
<dt class="sig sig-object php" id="CodeIgniter\Database\BaseBuilder::insertBatch">
|
||
<span class="sig-name descname"><span class="pre">insertBatch</span></span><span class="sig-paren">(</span><span class="optional">[</span><em class="sig-param"><span class="pre">$set</span> <span class="pre">=</span> <span class="pre">null</span></em><span class="optional">[</span>, <em class="sig-param"><span class="pre">$escape</span> <span class="pre">=</span> <span class="pre">null</span></em><span class="optional">[</span>, <em class="sig-param"><span class="pre">$batch_size</span> <span class="pre">=</span> <span class="pre">100</span></em><span class="optional">]</span><span class="optional">]</span><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#CodeIgniter\Database\BaseBuilder::insertBatch" title="Permalink to this definition"></a></dt>
|
||
<dd><dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>$set</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">array</span></code></span>) – Data to insert</p></li>
|
||
<li><p><strong>$escape</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">bool</span></code></span>) – Whether to escape values</p></li>
|
||
<li><p><strong>$batch_size</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">int</span></code></span>) – Count of rows to insert at once</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p>Number of rows inserted or <code class="docutils literal notranslate"><span class="pre">false</span></code> on failure</p>
|
||
</dd>
|
||
<dt class="field-odd">Return type</dt>
|
||
<dd class="field-odd"><p><span><code class="xref php php-obj docutils literal notranslate"><span class="pre">int|false</span></code></span></p>
|
||
</dd>
|
||
</dl>
|
||
<p>Compiles and executes batch <code class="docutils literal notranslate"><span class="pre">INSERT</span></code> statements.</p>
|
||
<div class="admonition note">
|
||
<p class="admonition-title">Note</p>
|
||
<p>When more than <code class="docutils literal notranslate"><span class="pre">$batch_size</span></code> rows are provided, multiple
|
||
<code class="docutils literal notranslate"><span class="pre">INSERT</span></code> queries will be executed, each trying to insert
|
||
up to <code class="docutils literal notranslate"><span class="pre">$batch_size</span></code> rows.</p>
|
||
</div>
|
||
</dd></dl>
|
||
|
||
<dl class="php method">
|
||
<dt class="sig sig-object php" id="CodeIgniter\Database\BaseBuilder::setInsertBatch">
|
||
<span class="sig-name descname"><span class="pre">setInsertBatch</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="pre">$key</span></em><span class="optional">[</span>, <em class="sig-param"><span class="pre">$value</span> <span class="pre">=</span> <span class="pre">''</span></em><span class="optional">[</span>, <em class="sig-param"><span class="pre">$escape</span> <span class="pre">=</span> <span class="pre">null</span></em><span class="optional">]</span><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#CodeIgniter\Database\BaseBuilder::setInsertBatch" title="Permalink to this definition"></a></dt>
|
||
<dd><dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>$key</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">mixed</span></code></span>) – Field name or an array of field/value pairs</p></li>
|
||
<li><p><strong>$value</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">string</span></code></span>) – Field value, if $key is a single field</p></li>
|
||
<li><p><strong>$escape</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">bool</span></code></span>) – Whether to escape values</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code> instance (method chaining)</p>
|
||
</dd>
|
||
<dt class="field-odd">Return type</dt>
|
||
<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code></p>
|
||
</dd>
|
||
</dl>
|
||
<p>Adds field/value pairs to be inserted in a table later via <code class="docutils literal notranslate"><span class="pre">insertBatch()</span></code>.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="php method">
|
||
<dt class="sig sig-object php" id="CodeIgniter\Database\BaseBuilder::update">
|
||
<span class="sig-name descname"><span class="pre">update</span></span><span class="sig-paren">(</span><span class="optional">[</span><em class="sig-param"><span class="pre">$set</span> <span class="pre">=</span> <span class="pre">null</span></em><span class="optional">[</span>, <em class="sig-param"><span class="pre">$where</span> <span class="pre">=</span> <span class="pre">null</span></em><span class="optional">[</span>, <em class="sig-param"><span class="pre">$limit</span> <span class="pre">=</span> <span class="pre">null</span></em><span class="optional">]</span><span class="optional">]</span><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#CodeIgniter\Database\BaseBuilder::update" title="Permalink to this definition"></a></dt>
|
||
<dd><dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>$set</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">array</span></code></span>) – An associative array of field/value pairs</p></li>
|
||
<li><p><strong>$where</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">string</span></code></span>) – The WHERE clause</p></li>
|
||
<li><p><strong>$limit</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">int</span></code></span>) – The LIMIT clause</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p><code class="docutils literal notranslate"><span class="pre">true</span></code> on success, <code class="docutils literal notranslate"><span class="pre">false</span></code> on failure</p>
|
||
</dd>
|
||
<dt class="field-odd">Return type</dt>
|
||
<dd class="field-odd"><p><span><code class="xref php php-obj docutils literal notranslate"><span class="pre">bool</span></code></span></p>
|
||
</dd>
|
||
</dl>
|
||
<p>Compiles and executes an <code class="docutils literal notranslate"><span class="pre">UPDATE</span></code> statement.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="php method">
|
||
<dt class="sig sig-object php" id="CodeIgniter\Database\BaseBuilder::updateBatch">
|
||
<span class="sig-name descname"><span class="pre">updateBatch</span></span><span class="sig-paren">(</span><span class="optional">[</span><em class="sig-param"><span class="pre">$set</span> <span class="pre">=</span> <span class="pre">null</span></em><span class="optional">[</span>, <em class="sig-param"><span class="pre">$value</span> <span class="pre">=</span> <span class="pre">null</span></em><span class="optional">[</span>, <em class="sig-param"><span class="pre">$batch_size</span> <span class="pre">=</span> <span class="pre">100</span></em><span class="optional">]</span><span class="optional">]</span><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#CodeIgniter\Database\BaseBuilder::updateBatch" title="Permalink to this definition"></a></dt>
|
||
<dd><dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>$set</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">array</span></code></span>) – Field name, or an associative array of field/value pairs</p></li>
|
||
<li><p><strong>$value</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">string</span></code></span>) – Field value, if $set is a single field</p></li>
|
||
<li><p><strong>$batch_size</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">int</span></code></span>) – Count of conditions to group in a single query</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p>Number of rows updated or <code class="docutils literal notranslate"><span class="pre">false</span></code> on failure</p>
|
||
</dd>
|
||
<dt class="field-odd">Return type</dt>
|
||
<dd class="field-odd"><p><span><code class="xref php php-obj docutils literal notranslate"><span class="pre">int|false</span></code></span></p>
|
||
</dd>
|
||
</dl>
|
||
<p>Compiles and executes batch <code class="docutils literal notranslate"><span class="pre">UPDATE</span></code> statements.</p>
|
||
<div class="admonition note">
|
||
<p class="admonition-title">Note</p>
|
||
<p>When more than <code class="docutils literal notranslate"><span class="pre">$batch_size</span></code> field/value pairs are provided,
|
||
multiple queries will be executed, each handling up to
|
||
<code class="docutils literal notranslate"><span class="pre">$batch_size</span></code> field/value pairs.</p>
|
||
</div>
|
||
</dd></dl>
|
||
|
||
<dl class="php method">
|
||
<dt class="sig sig-object php" id="CodeIgniter\Database\BaseBuilder::setUpdateBatch">
|
||
<span class="sig-name descname"><span class="pre">setUpdateBatch</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="pre">$key</span></em><span class="optional">[</span>, <em class="sig-param"><span class="pre">$value</span> <span class="pre">=</span> <span class="pre">''</span></em><span class="optional">[</span>, <em class="sig-param"><span class="pre">$escape</span> <span class="pre">=</span> <span class="pre">null</span></em><span class="optional">]</span><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#CodeIgniter\Database\BaseBuilder::setUpdateBatch" title="Permalink to this definition"></a></dt>
|
||
<dd><dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>$key</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">mixed</span></code></span>) – Field name or an array of field/value pairs</p></li>
|
||
<li><p><strong>$value</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">string</span></code></span>) – Field value, if $key is a single field</p></li>
|
||
<li><p><strong>$escape</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">bool</span></code></span>) – Whether to escape values</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code> instance (method chaining)</p>
|
||
</dd>
|
||
<dt class="field-odd">Return type</dt>
|
||
<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code></p>
|
||
</dd>
|
||
</dl>
|
||
<p>Adds field/value pairs to be updated in a table later via <code class="docutils literal notranslate"><span class="pre">updateBatch()</span></code>.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="php method">
|
||
<dt class="sig sig-object php" id="CodeIgniter\Database\BaseBuilder::replace">
|
||
<span class="sig-name descname"><span class="pre">replace</span></span><span class="sig-paren">(</span><span class="optional">[</span><em class="sig-param"><span class="pre">$set</span> <span class="pre">=</span> <span class="pre">null</span></em><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#CodeIgniter\Database\BaseBuilder::replace" title="Permalink to this definition"></a></dt>
|
||
<dd><dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>$set</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">array</span></code></span>) – An associative array of field/value pairs</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p><code class="docutils literal notranslate"><span class="pre">true</span></code> on success, <code class="docutils literal notranslate"><span class="pre">false</span></code> on failure</p>
|
||
</dd>
|
||
<dt class="field-odd">Return type</dt>
|
||
<dd class="field-odd"><p><span><code class="xref php php-obj docutils literal notranslate"><span class="pre">bool</span></code></span></p>
|
||
</dd>
|
||
</dl>
|
||
<p>Compiles and executes a <code class="docutils literal notranslate"><span class="pre">REPLACE</span></code> statement.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="php method">
|
||
<dt class="sig sig-object php" id="CodeIgniter\Database\BaseBuilder::delete">
|
||
<span class="sig-name descname"><span class="pre">delete</span></span><span class="sig-paren">(</span><span class="optional">[</span><em class="sig-param"><span class="pre">$where</span> <span class="pre">=</span> <span class="pre">''</span></em><span class="optional">[</span>, <em class="sig-param"><span class="pre">$limit</span> <span class="pre">=</span> <span class="pre">null</span></em><span class="optional">[</span>, <em class="sig-param"><span class="pre">$reset_data</span> <span class="pre">=</span> <span class="pre">true</span></em><span class="optional">]</span><span class="optional">]</span><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#CodeIgniter\Database\BaseBuilder::delete" title="Permalink to this definition"></a></dt>
|
||
<dd><dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>$where</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">string</span></code></span>) – The WHERE clause</p></li>
|
||
<li><p><strong>$limit</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">int</span></code></span>) – The LIMIT clause</p></li>
|
||
<li><p><strong>$reset_data</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">bool</span></code></span>) – true to reset the query “write” clause</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder</span></code> instance (method chaining) or <code class="docutils literal notranslate"><span class="pre">false</span></code> on failure</p>
|
||
</dd>
|
||
<dt class="field-odd">Return type</dt>
|
||
<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">BaseBuilder|false</span></code></p>
|
||
</dd>
|
||
</dl>
|
||
<p>Compiles and executes a <code class="docutils literal notranslate"><span class="pre">DELETE</span></code> query.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="php method">
|
||
<dt class="sig sig-object php" id="CodeIgniter\Database\BaseBuilder::increment">
|
||
<span class="sig-name descname"><span class="pre">increment</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="pre">$column</span></em><span class="optional">[</span>, <em class="sig-param"><span class="pre">$value</span> <span class="pre">=</span> <span class="pre">1</span></em><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#CodeIgniter\Database\BaseBuilder::increment" title="Permalink to this definition"></a></dt>
|
||
<dd><dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>$column</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">string</span></code></span>) – The name of the column to increment</p></li>
|
||
<li><p><strong>$value</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">int</span></code></span>) – The amount to increment in the column</p></li>
|
||
</ul>
|
||
</dd>
|
||
</dl>
|
||
<p>Increments the value of a field by the specified amount. If the field
|
||
is not a numeric field, like a <code class="docutils literal notranslate"><span class="pre">VARCHAR</span></code>, it will likely be replaced
|
||
with <code class="docutils literal notranslate"><span class="pre">$value</span></code>.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="php method">
|
||
<dt class="sig sig-object php" id="CodeIgniter\Database\BaseBuilder::decrement">
|
||
<span class="sig-name descname"><span class="pre">decrement</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="pre">$column</span></em><span class="optional">[</span>, <em class="sig-param"><span class="pre">$value</span> <span class="pre">=</span> <span class="pre">1</span></em><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#CodeIgniter\Database\BaseBuilder::decrement" title="Permalink to this definition"></a></dt>
|
||
<dd><dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>$column</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">string</span></code></span>) – The name of the column to decrement</p></li>
|
||
<li><p><strong>$value</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">int</span></code></span>) – The amount to decrement in the column</p></li>
|
||
</ul>
|
||
</dd>
|
||
</dl>
|
||
<p>Decrements the value of a field by the specified amount. If the field
|
||
is not a numeric field, like a <code class="docutils literal notranslate"><span class="pre">VARCHAR</span></code>, it will likely be replaced
|
||
with <code class="docutils literal notranslate"><span class="pre">$value</span></code>.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="php method">
|
||
<dt class="sig sig-object php" id="CodeIgniter\Database\BaseBuilder::truncate">
|
||
<span class="sig-name descname"><span class="pre">truncate</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#CodeIgniter\Database\BaseBuilder::truncate" title="Permalink to this definition"></a></dt>
|
||
<dd><dl class="field-list simple">
|
||
<dt class="field-odd">Returns</dt>
|
||
<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">true</span></code> on success, <code class="docutils literal notranslate"><span class="pre">false</span></code> on failure, string on test mode</p>
|
||
</dd>
|
||
<dt class="field-even">Return type</dt>
|
||
<dd class="field-even"><p><span><code class="xref php php-obj docutils literal notranslate"><span class="pre">bool|string</span></code></span></p>
|
||
</dd>
|
||
</dl>
|
||
<p>Executes a <code class="docutils literal notranslate"><span class="pre">TRUNCATE</span></code> statement on a table.</p>
|
||
<div class="admonition note">
|
||
<p class="admonition-title">Note</p>
|
||
<p>If the database platform in use doesn’t support <code class="docutils literal notranslate"><span class="pre">TRUNCATE</span></code>,
|
||
a <code class="docutils literal notranslate"><span class="pre">DELETE</span></code> statement will be used instead.</p>
|
||
</div>
|
||
</dd></dl>
|
||
|
||
<dl class="php method">
|
||
<dt class="sig sig-object php" id="CodeIgniter\Database\BaseBuilder::emptyTable">
|
||
<span class="sig-name descname"><span class="pre">emptyTable</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#CodeIgniter\Database\BaseBuilder::emptyTable" title="Permalink to this definition"></a></dt>
|
||
<dd><dl class="field-list simple">
|
||
<dt class="field-odd">Returns</dt>
|
||
<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">true</span></code> on success, <code class="docutils literal notranslate"><span class="pre">false</span></code> on failure</p>
|
||
</dd>
|
||
<dt class="field-even">Return type</dt>
|
||
<dd class="field-even"><p><span><code class="xref php php-obj docutils literal notranslate"><span class="pre">bool</span></code></span></p>
|
||
</dd>
|
||
</dl>
|
||
<p>Deletes all records from a table via a <code class="docutils literal notranslate"><span class="pre">DELETE</span></code> statement.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="php method">
|
||
<dt class="sig sig-object php" id="CodeIgniter\Database\BaseBuilder::getCompiledSelect">
|
||
<span class="sig-name descname"><span class="pre">getCompiledSelect</span></span><span class="sig-paren">(</span><span class="optional">[</span><em class="sig-param"><span class="pre">$reset</span> <span class="pre">=</span> <span class="pre">true</span></em><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#CodeIgniter\Database\BaseBuilder::getCompiledSelect" title="Permalink to this definition"></a></dt>
|
||
<dd><dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>$reset</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">bool</span></code></span>) – Whether to reset the current QB values or not</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p>The compiled SQL statement as a string</p>
|
||
</dd>
|
||
<dt class="field-odd">Return type</dt>
|
||
<dd class="field-odd"><p><span><code class="xref php php-obj docutils literal notranslate"><span class="pre">string</span></code></span></p>
|
||
</dd>
|
||
</dl>
|
||
<p>Compiles a <code class="docutils literal notranslate"><span class="pre">SELECT</span></code> statement and returns it as a string.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="php method">
|
||
<dt class="sig sig-object php" id="CodeIgniter\Database\BaseBuilder::getCompiledInsert">
|
||
<span class="sig-name descname"><span class="pre">getCompiledInsert</span></span><span class="sig-paren">(</span><span class="optional">[</span><em class="sig-param"><span class="pre">$reset</span> <span class="pre">=</span> <span class="pre">true</span></em><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#CodeIgniter\Database\BaseBuilder::getCompiledInsert" title="Permalink to this definition"></a></dt>
|
||
<dd><dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>$reset</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">bool</span></code></span>) – Whether to reset the current QB values or not</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p>The compiled SQL statement as a string</p>
|
||
</dd>
|
||
<dt class="field-odd">Return type</dt>
|
||
<dd class="field-odd"><p><span><code class="xref php php-obj docutils literal notranslate"><span class="pre">string</span></code></span></p>
|
||
</dd>
|
||
</dl>
|
||
<p>Compiles an <code class="docutils literal notranslate"><span class="pre">INSERT</span></code> statement and returns it as a string.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="php method">
|
||
<dt class="sig sig-object php" id="CodeIgniter\Database\BaseBuilder::getCompiledUpdate">
|
||
<span class="sig-name descname"><span class="pre">getCompiledUpdate</span></span><span class="sig-paren">(</span><span class="optional">[</span><em class="sig-param"><span class="pre">$reset</span> <span class="pre">=</span> <span class="pre">true</span></em><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#CodeIgniter\Database\BaseBuilder::getCompiledUpdate" title="Permalink to this definition"></a></dt>
|
||
<dd><dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>$reset</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">bool</span></code></span>) – Whether to reset the current QB values or not</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p>The compiled SQL statement as a string</p>
|
||
</dd>
|
||
<dt class="field-odd">Return type</dt>
|
||
<dd class="field-odd"><p><span><code class="xref php php-obj docutils literal notranslate"><span class="pre">string</span></code></span></p>
|
||
</dd>
|
||
</dl>
|
||
<p>Compiles an <code class="docutils literal notranslate"><span class="pre">UPDATE</span></code> statement and returns it as a string.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="php method">
|
||
<dt class="sig sig-object php" id="CodeIgniter\Database\BaseBuilder::getCompiledDelete">
|
||
<span class="sig-name descname"><span class="pre">getCompiledDelete</span></span><span class="sig-paren">(</span><span class="optional">[</span><em class="sig-param"><span class="pre">$reset</span> <span class="pre">=</span> <span class="pre">true</span></em><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#CodeIgniter\Database\BaseBuilder::getCompiledDelete" title="Permalink to this definition"></a></dt>
|
||
<dd><dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>$reset</strong> (<span><code class="xref php php-obj docutils literal notranslate"><span class="pre">bool</span></code></span>) – Whether to reset the current QB values or not</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p>The compiled SQL statement as a string</p>
|
||
</dd>
|
||
<dt class="field-odd">Return type</dt>
|
||
<dd class="field-odd"><p><span><code class="xref php php-obj docutils literal notranslate"><span class="pre">string</span></code></span></p>
|
||
</dd>
|
||
</dl>
|
||
<p>Compiles a <code class="docutils literal notranslate"><span class="pre">DELETE</span></code> statement and returns it as a string.</p>
|
||
</dd></dl>
|
||
|
||
</dd></dl>
|
||
|
||
</section>
|
||
</section>
|
||
|
||
|
||
</div>
|
||
</div>
|
||
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
|
||
<a href="helpers.html" class="btn btn-neutral float-left" title="Query Helper Methods" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
|
||
<a href="transactions.html" class="btn btn-neutral float-right" title="Transactions" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
|
||
</div>
|
||
|
||
<hr/>
|
||
|
||
<div role="contentinfo">
|
||
<p>© Copyright 2019-2022 CodeIgniter Foundation.
|
||
<span class="lastupdated">Last updated on Dec 07, 2022.
|
||
</span></p>
|
||
</div>
|
||
|
||
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
|
||
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
|
||
provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
||
|
||
|
||
</footer>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
</div>
|
||
<script>
|
||
jQuery(function () {
|
||
SphinxRtdTheme.Navigation.enable(false);
|
||
});
|
||
</script>
|
||
|
||
</body>
|
||
</html> |