From
from
Name | Type | Required | Default | Description |
from | string | Expression |
| | The name of the table or a Expression object from which the query is based. |
Used to set the base table for the query.
You can optionally specify an alias for the table.
table
Name | Type | Required | Default | Description |
table | string | Expression |
| | The name of the table or a Expression object from which the query is based. |
An alias for from
where you like how calling table
looks.
fromRaw
Name | Type | Required | Default | Description |
from | string |
| | The sql snippet to use as the table. |
bindings | array |
|
| Any bindings needed for the expression. |
Sometimes you need more control over your from
clause in order to add grammar specific instructions, such as adding SQL Server table hints to your queries.
Since the fromRaw()
takes your string verbatim, it's important that you make sure your SQL declaration is escaped properly. Failure to properly escape your table names may result in SQL errors.
Using fromRaw
will most likely tie your code to a specific database, so think carefully before using the fromRaw
method if you want your project to be database agnostic.
Many database engines allow you to define User Defined Functions. For example, SQL Server allows you to define UDFs that will return a table. In these type of cases, it may be necessary to bind parameters to your from
clause.
You can bind parameters to the fromRaw()
method by passing a secondary argument that is an array of the parameters to bind.
fromSub
Name | Type | Required | Default | Description |
alias | string |
| | The alias for the derived table. |
input | Function | QueryBuilder |
| Either a |
Complex queries often contain derived tables. Derived tables are essentially a temporal table defined as a subquery in the from
statement.
In additional a function callback, a separate QueryBuilder
instance can be passed to the fromSub
method.