-
Notifications
You must be signed in to change notification settings - Fork 1
Query Builder API Documentation
You may use the from method provided by the Eloquentify\Query to begin a query. The from method returns a fluent query builder instance for the given table, allowing you to chain more constraints onto the query and then finally retrieve the results of the query using the get method:
import {Query} from "eloquentify";
const users = await Query.from('users').get();The get method returns an array of objects containing the results of the query. You may access each column's value by accessing the column as a property of the object:
import {Query} from "eloquentify";
const users = await Query.from('users').get();
users.map((user) => console.log(user.name))If you just need to retrieve a single row from a database table, you may use the Eloquentify\Query first method. This method will return a single object:
const users = await Query.from('users').first();
return user.email;To retrieve a single row by its id column value, use the find method:
const user = await Query.from('users').find(3);The query builder also provides a variety of methods for retrieving aggregate values like count, max, min, avg, and sum. You may call any of these methods after constructing your query:
import {Query} from "eloquentify";
const users = await Query.from('users').count();
const price = await Query.from('orders').max('price');Of course, you may combine these methods with other clauses to fine-tune how your aggregate value is calculated:
const price = await Query.from('orders').where('finalized', 1).avg('price');You may not always want to select all columns from a database table. Using the select method, you can specify a custom "select" clause for the query:
import {Query} from "eloquentify";
const users = await Query.from('users').select('name', Query.raw('email as user_email'))).get();The distinct method allows you to force the query to return distinct results:
const users = await Query.from('users').distinct().get();If you already have a query builder instance and you wish to add a column to its existing select clause, you may use the same select method:
const query = Query.select('name');
const users = await query.select('age')->get();