PHP code example of byerikas / eloquent-bigquery
1. Go to this page and download the library: Download byerikas/eloquent-bigquery library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
byerikas / eloquent-bigquery example snippets
use ByErikas\EloquentBigQuery\Builder;
$query = Builder::table("test", "table_alias")
->select(["column AS column_alias"])
->where("columnA", "value")
->whereIn("columnB", [1, 2, 3])
->whereBetween("columnC", 1, 10)
->limit(10)
->offset(5)
->orderBy("column_alias", "desc");
$query = Builder::table("test")
->select(["column", "column2"])
->whereBetween("column", 1, 2);
$sql = $query->toSQL(); //returns: "SELECT column, column2 FROM `test` WHERE column BETWEEN 1 AND 2"
use ByErikas\EloquentBigQuery\Facades\QueryService;
$result = QueryService::query($query)->execute();
[$resultsA, $resultsB] = QueryService::query([$queryA, $queryB])->execute(); //multiple queries are supported
Builder::table("test")->selectAggregations(["metric-1"]);
use ByErikas\EloquentBigQuery\Join;
Builder::table("test")
->select(["column"])
->join("test1", "t1", function (Join $query) {
$query->where("time", "test.time");
});
use ByErikas\EloquentBigQuery\Where;
Builder::table("test")
->select(["column"])
->where(function (Where $query) {
$query->where("columnA", true)
->whereBetween("columnB", "1000-01-01", "2000-01-01", "or");
});
use ByErikas\EloquentBigQuery\Having;
Builder::table("test")
->select(["column"])
->having(function (Having $query) {
$query->having("columnA", 100);
});
use ByErikas\EloquentBigQuery\Facades\QueryService;
public function boot(): void {
//...
QueryService::setClientConfig(["keyFile" => ...]);
//...
}
use ByErikas\EloquentBigQuery\Facades\AggregationsRepository;
public function boot(): void {
//...
AggregationsRepository::from([["keyword" => "metric-1", "value" => "ROUND(..."]]);
//...
}
$metrics = [
[
"keyword" => "metric-1",
"value" => "ROUND(..."
]
];