Skip to content

KaduAmaral/PhpApiEntryDataAdapter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PhpApiEntryDataAdapter

API Entry Data Adapter

Usage with MySQLAdapter:

// $_GET = ['companyId' => 1234, 'status' => ['Pending','Error']]

$loadOptions = new RequestLoadOptions([
    'filters' => $_GET
]);

$filterCollection = $loadOptions->filters();

$mysqlAdapter = new MySQLAdapter([
    'companyId' => 'com.id',
    'status'    => 'com.status'
]);

/** @var MySQLAdapterResult */
$statement = $filterCollection->getStatement($mysqlAdapter);

$filters = '';
$vars = NULL;
if ($statement->sql) { 
    // statement.sql = "com.id = :companyId AND com.status IN (:status0, :status1)"
    $filters = 'AND ' . $statement->sql;
    // statement.vars = [':companyId' => 1234, ':status0' => 'Pending', ':status1' => 'Error']
    $vars    = $statement->vars;
}

$sql = "SELECT com.* 
        FROM company com
        WHERE com.active = 1
        $filters
";

$pdo = new PDO(...);
$stmt = $pdo->prepare($sql);
$stmt->execute($vars);
$data = $stmt->fetchAll(PDO::FETCH_OBJ);

About

API Entry Data Adapter

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages