PHP Classes

File: src/SchemaInspector.php

Recommend this page to a friend!
  Classes of Adrian M   PHP CRUD API Generator   src/SchemaInspector.php   Download  
File: src/SchemaInspector.php
Role: Class source
Content type: text/plain
Description: Class source
Class: PHP CRUD API Generator
Create an API to access MySQL database record
Author: By
Last change:
Date: 1 month ago
Size: 810 bytes
 

Contents

Class file image Download
<?php
namespace App;

use
PDO;

class
SchemaInspector
{
    private
PDO $pdo;

    public function
__construct(PDO $pdo)
    {
       
$this->pdo = $pdo;
    }

    public function
getTables(): array
    {
       
$stmt = $this->pdo->query('SHOW TABLES');
        return
$stmt->fetchAll(PDO::FETCH_COLUMN);
    }

    public function
getColumns(string $table): array
    {
       
$stmt = $this->pdo->prepare("SHOW COLUMNS FROM `$table`");
       
$stmt->execute();
        return
$stmt->fetchAll(PDO::FETCH_ASSOC);
    }

    public function
getPrimaryKey(string $table): ?string
   
{
       
$columns = $this->getColumns($table);
        foreach (
$columns as $column) {
            if (
$column['Key'] === 'PRI') {
                return
$column['Field'];
            }
        }
        return
null;
    }
}