Skip to content

Commit fe33275

Browse files
committed
docs: add the user guide
1 parent c656564 commit fe33275

3 files changed

Lines changed: 19 additions & 1 deletion

File tree

user_guide_src/source/changelogs/v4.2.0.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ Database
6868
- It can access Oracle Database and supports SQL and PL/SQL statements.
6969
- QueryBuilder raw SQL string support
7070
- Added the class ``CodeIgniter\Database\RawSql`` which expresses raw SQL strings.
71-
- :ref:`select() <query-builder-select-rawsql>`, :ref:`where() <query-builder-where-rawsql>`, :ref:`like() <query-builder-like-rawsql>` accept the ``CodeIgniter\Database\RawSql`` instance.
71+
- :ref:`select() <query-builder-select-rawsql>`, :ref:`where() <query-builder-where-rawsql>`, :ref:`like() <query-builder-like-rawsql>`, :ref:`join() <query-builder-join-rawsql>` accept the ``CodeIgniter\Database\RawSql`` instance.
7272

7373
Others
7474
======

user_guide_src/source/database/query_builder.rst

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -234,6 +234,17 @@ outer``, and ``right outer``.
234234

235235
.. literalinclude:: query_builder/020.php
236236

237+
.. _query-builder-join-rawsql:
238+
239+
RawSql
240+
^^^^^^
241+
242+
Since v4.2.0, ``$builder->join()`` accepts a ``CodeIgniter\Database\RawSql`` instance, which expresses raw SQL strings.
243+
244+
.. literalinclude:: query_builder/102.php
245+
246+
.. warning:: When you use ``RawSql``, you MUST escape the data manually. Failure to do so could result in SQL injections.
247+
237248
*************************
238249
Looking for Specific Data
239250
*************************
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
<?php
2+
3+
use CodeIgniter\Database\RawSql;
4+
5+
$sql = 'user.id = device.user_id AND ((1=1 OR 1=1) OR (1=1 OR 1=1))';
6+
$builder->join('user', new RawSql($sql), 'LEFT');
7+
// Produces: LEFT JOIN "user" ON user.id = device.user_id AND ((1=1 OR 1=1) OR (1=1 OR 1=1))

0 commit comments

Comments
 (0)