Skip to content
Snippets Groups Projects
Commit b4a9e7f7 authored by Josh Pollock's avatar Josh Pollock
Browse files

improve documentation

parent 34359f35
No related branches found
No related tags found
No related merge requests found
......@@ -2,8 +2,8 @@
<project version="4">
<component name="ChangeListManager">
<list default="true" id="8debb13c-dec3-4d96-b552-5550bc63772b" name="Default" comment="">
<change beforePath="$PROJECT_DIR$/README.md" beforeDir="false" afterPath="$PROJECT_DIR$/README.md" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Tests/plugins/caldera-forms" beforeDir="false" afterPath="$PROJECT_DIR$/Tests/plugins/caldera-forms" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/QueryBuilder.php" beforeDir="false" afterPath="$PROJECT_DIR$/src/QueryBuilder.php" afterDir="false" />
</list>
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
<option name="TRACKING_ENABLED" value="true" />
......@@ -19,11 +19,11 @@
<splitter split-orientation="horizontal" split-proportion="0.5282903">
<split-first>
<leaf>
<file leaf-file-name="QueryBuilder.php" pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/src/QueryBuilder.php">
<file leaf-file-name="scratch.php" pinned="false" current-in-tab="false">
<entry file="file://$APPLICATION_CONFIG_DIR$/scratches/scratch.php">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="340">
<caret line="170" column="11" selection-start-line="170" selection-start-column="11" selection-end-line="170" selection-end-column="11" />
<state relative-caret-position="105">
<caret line="7" selection-start-line="7" selection-end-line="12" selection-end-column="27" />
</state>
</provider>
</entry>
......@@ -33,18 +33,27 @@
<provider selected="true" editor-type-id="text-editor" />
</entry>
</file>
<file leaf-file-name="README.md" pinned="false" current-in-tab="false">
<file leaf-file-name="README.md" pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/README.md">
<provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
<state split_layout="FIRST">
<first_editor relative-caret-position="323">
<caret line="73" column="3" selection-start-line="73" selection-start-column="3" selection-end-line="73" selection-end-column="3" />
<first_editor relative-caret-position="281">
<caret line="91" column="21" selection-start-line="91" selection-start-column="21" selection-end-line="91" selection-end-column="21" />
</first_editor>
<second_editor />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="SelectQueryBuilder.php" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/Select/SelectQueryBuilder.php">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="105">
<caret line="8" column="107" lean-forward="true" selection-start-line="8" selection-start-column="66" selection-end-line="8" selection-end-column="107" />
</state>
</provider>
</entry>
</file>
</leaf>
</split-first>
<split-second>
......@@ -52,8 +61,8 @@
<file leaf-file-name="FeatureContainer.php" pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/src/Features/FeatureContainer.php">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="177">
<caret line="308" column="21" selection-start-line="308" selection-start-column="21" selection-end-line="308" selection-end-column="21" />
<state relative-caret-position="357">
<caret line="320" column="7" selection-start-line="320" selection-start-column="7" selection-end-line="320" selection-end-column="7" />
</state>
</provider>
</entry>
......@@ -101,9 +110,10 @@
<option value="$PROJECT_DIR$/src/Select/SelectQueryBuilder.php" />
<option value="$PROJECT_DIR$/Tests/Unit/Select/EntryTest.php" />
<option value="$PROJECT_DIR$/src/Features/Queries.php" />
<option value="$PROJECT_DIR$/README.md" />
<option value="$PROJECT_DIR$/src/Features/FeatureContainer.php" />
<option value="$PROJECT_DIR$/src/QueryBuilder.php" />
<option value="$APPLICATION_CONFIG_DIR$/scratches/scratch.php" />
<option value="$PROJECT_DIR$/README.md" />
</list>
</option>
</component>
......@@ -208,6 +218,15 @@
<item name="src" type="462c0819:PsiDirectoryNode" />
<item name="Select" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="caldera-forms-query" type="b2602c69:ProjectViewProjectNode" />
<item name="Scratches and Consoles" type="1a2a3e82:ScratchProjectViewPane$MyProjectNode" />
</path>
<path>
<item name="caldera-forms-query" type="b2602c69:ProjectViewProjectNode" />
<item name="Scratches and Consoles" type="1a2a3e82:ScratchProjectViewPane$MyProjectNode" />
<item name="Scratches" type="d62648e6:ScratchProjectViewPane$MyRootNode" />
</path>
</expand>
<select />
</subPane>
......@@ -217,9 +236,10 @@
</component>
<component name="PropertiesComponent">
<property name="WebServerToolWindowFactoryState" value="false" />
<property name="com.intellij.ide.scratch.LRUPopupBuilder$1/New Scratch File" value="PHP" />
<property name="last_opened_file_path" value="$PROJECT_DIR$" />
<property name="nodejs_package_manager_path" value="npm" />
<property name="settings.editor.selected.configurable" value="fileTemplates" />
<property name="settings.editor.selected.configurable" value="reference.idesettings.emmet" />
</component>
<component name="RunDashboard">
<option name="ruleStates">
......@@ -255,7 +275,7 @@
<servers />
</component>
<component name="TimeTrackingManager">
<option name="totallyTimeSpent" value="13885000" />
<option name="totallyTimeSpent" value="15118000" />
</component>
<component name="ToolWindowManager">
<frame x="0" y="23" width="1920" height="1057" extended-state="0" />
......@@ -303,13 +323,6 @@
<option name="myLimit" value="2678400000" />
</component>
<component name="editorHistoryManager">
<entry file="file://$PROJECT_DIR$/src/Features/Queries.php">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="480">
<caret line="76" column="33" selection-start-line="76" selection-start-column="33" selection-end-line="76" selection-end-column="33" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/vendor/nilportugues/sql-query-builder/src/Manipulation/Select.php">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="538">
......@@ -553,16 +566,6 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/README.md">
<provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
<state split_layout="FIRST">
<first_editor relative-caret-position="323">
<caret line="73" column="3" selection-start-line="73" selection-start-column="3" selection-end-line="73" selection-end-column="3" />
</first_editor>
<second_editor />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/Select/DoesSelectQueryByValue.php">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="450">
......@@ -608,38 +611,58 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/Features/FeatureContainer.php">
<entry file="file://$PROJECT_DIR$/src/Select/ValueSelectQueryBuilder.php">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="177">
<caret line="308" column="21" selection-start-line="308" selection-start-column="21" selection-end-line="308" selection-end-column="21" />
<state relative-caret-position="75">
<caret line="5" column="15" selection-start-line="5" selection-start-column="15" selection-end-line="5" selection-end-column="15" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/Select/SelectQueryBuilder.php">
<entry file="file://$PROJECT_DIR$/src/Select/EntryValues.php">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="420">
<caret line="29" column="22" selection-start-line="29" selection-start-column="22" selection-end-line="29" selection-end-column="22" />
<state relative-caret-position="150">
<caret line="10" column="41" lean-forward="true" selection-start-line="10" selection-start-column="41" selection-end-line="10" selection-end-column="41" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/Select/ValueSelectQueryBuilder.php">
<entry file="file://$PROJECT_DIR$/src/Features/FeatureContainer.php">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="75">
<caret line="5" column="15" selection-start-line="5" selection-start-column="15" selection-end-line="5" selection-end-column="15" />
<state relative-caret-position="357">
<caret line="320" column="7" selection-start-line="320" selection-start-column="7" selection-end-line="320" selection-end-column="7" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/Select/EntryValues.php">
<entry file="file://$PROJECT_DIR$/src/QueryBuilder.php">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="150">
<caret line="10" column="41" lean-forward="true" selection-start-line="10" selection-start-column="41" selection-end-line="10" selection-end-column="41" />
<state relative-caret-position="57">
<caret line="5" column="4" lean-forward="true" selection-start-line="5" selection-start-column="4" selection-end-line="5" selection-end-column="4" />
<folding>
<element signature="e#48#101#0#PHP" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/QueryBuilder.php">
<entry file="file://$PROJECT_DIR$/src/Select/SelectQueryBuilder.php">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="340">
<caret line="170" column="11" selection-start-line="170" selection-start-column="11" selection-end-line="170" selection-end-column="11" />
<state relative-caret-position="105">
<caret line="8" column="107" lean-forward="true" selection-start-line="8" selection-start-column="66" selection-end-line="8" selection-end-column="107" />
</state>
</provider>
</entry>
<entry file="file://$APPLICATION_CONFIG_DIR$/scratches/scratch.php">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="105">
<caret line="7" selection-start-line="7" selection-end-line="12" selection-end-column="27" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/README.md">
<provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
<state split_layout="FIRST">
<first_editor relative-caret-position="281">
<caret line="91" column="21" selection-start-line="91" selection-start-column="21" selection-end-line="91" selection-end-column="21" />
</first_editor>
<second_editor />
</state>
</provider>
</entry>
......
......@@ -73,6 +73,57 @@ $entries = CalderaFormsQueries()->selectByFieldValue( 'email', 'delete@please.eu
$entries = CalderaFormsQueries()->selectByFieldValue( 'email', 'delete@please.eu', true, 5, 50 );
```
## Constructing Other Queries
The feature container provides helper methods that allow for simple queries like those listed above. It also exposes the underlying query generators.
You can access any of the generators using the `getQueries()` method. For example:
```php
$featureContainer = \calderawp\CalderaFormsQueries\CalderaFormsQueries();
$fieldValue = 'X@x.com';
$formId = 'CF5afb00e97d698';
$count = Caldera_Forms_Entry_Bulk::count($formId );
$entrySelector = $featureContainer
->getQueries()
->entrySelect();
```
#### `is()` Helper Method
This is a more complete example showing a selection of entry values where the field with the slug `primary_email` is `roy@hiroy.club` and the field with the slug of `first_name` is `Mike`. It is also using the `is()` method to add WHERE statements, as well as the `addPagination()` method to query for the second page of results with 50 results per page.
```php
$featureContainer = \calderawp\CalderaFormsQueries\CalderaFormsQueries();
$entrySelector = $featureContainer
->getQueries()
->entrySelect()
->is( 'primary_email', 'roy@hiroy.club' )
->is( 'first_name', 'Mike' )
->addPagination(2,50 );
```
#### `in()` Helper Method
This example shows selection of all entry values where the entry ID is in an array of entry IDs.
```php
$featureContainer = \calderawp\CalderaFormsQueries\CalderaFormsQueries();
$entrySelector = $featureContainer
->getQueries()
->entrySelect()
->in( 'entry_id', [ 42, 3 ] );
```
### Query Generators
All query generators extend the `\calderawp\CalderaFormsQuery\QueryBuilder` class and impairment `\calderawp\CalderaFormsQuery\CreatesSqlQueries`.
Query generators are responsible for creating SQL queries. They do not perform sequel queries.
#### Select Query Generators
Select query generators extend `\calderawp\CalderaFormsQuery\Select\SelectQueryBuilder` and impliment `\calderawp\CalderaFormsQuery\Select\DoesSelectQuery` and `\calderawp\CalderaFormsQuery\Select\DoesSelectQueryByEntryId`.
#### Useful Methods of `SelectQueryBuilder`s
* `in()`
## Development
### Install
Requires git and Composer
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment