Iber\Generator\Commands\MakeModelsCommand::getTablePrimaryKey PHP Метод

getTablePrimaryKey() защищенный Метод

Get table primary key column.
protected getTablePrimaryKey ( $table ) : string
$table
Результат string
    protected function getTablePrimaryKey($table)
    {
        switch ($this->databaseEngine) {
            case 'mysql':
                $primaryKeyResult = \DB::select("SELECT COLUMN_NAME\n                  FROM information_schema.COLUMNS \n                  WHERE  TABLE_SCHEMA = '" . env("DB_DATABASE") . "' AND \n                         TABLE_NAME = '{$table}' AND \n                         COLUMN_KEY = 'PRI'");
                break;
            case 'sqlsrv':
            case 'dblib':
                $primaryKeyResult = \DB::select("SELECT ku.COLUMN_NAME\n                   FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS AS tc\n                   INNER JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE AS ku\n                   ON tc.CONSTRAINT_TYPE = 'PRIMARY KEY' \n                   AND tc.CONSTRAINT_NAME = ku.CONSTRAINT_NAME\n                   WHERE ku.TABLE_CATALOG ='" . env("DB_DATABASE") . "' AND ku.TABLE_NAME='{$table}';");
                break;
            case 'pgsql':
                $primaryKeyResult = \DB::select("SELECT ku.COLUMN_NAME AS \"COLUMN_NAME\"\n                   FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS AS tc\n                   INNER JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE AS ku\n                   ON tc.CONSTRAINT_TYPE = 'PRIMARY KEY' \n                   AND tc.CONSTRAINT_NAME = ku.CONSTRAINT_NAME\n                   WHERE ku.TABLE_CATALOG ='" . env("DB_DATABASE") . "' AND ku.TABLE_NAME='{$table}';");
                break;
        }
        if (count($primaryKeyResult) == 1) {
            return $primaryKeyResult[0]->COLUMN_NAME;
        }
        return null;
    }