You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Както можете да видите, методът `transaction()` връща стойността на обратната връзка.
349
349
350
350
Функцията Transaction() също може да бъде вложена, което опростява прилагането на независими хранилища.
351
+
352
+
353
+
Отражение .[#toc-reflection]
354
+
============================
355
+
356
+
Nette Database предоставя инструменти за интроспекция на структурата на базата данни чрез класа [api:Nette\Database\Reflection]. Този клас ви позволява да извличате информация за таблици, колони, индекси и външни ключове. Можете да използвате отразяването, за да генерирате схеми, да създавате гъвкави приложения, които работят с бази данни, или да изграждате общи инструменти за бази данни.
357
+
358
+
Можете да получите обект за отразяване от инстанция за връзка с база данни:
359
+
360
+
```php
361
+
$reflection = $database->getReflection();
362
+
```
363
+
364
+
365
+
Работа с таблици .[#toc-working-with-tables]
366
+
--------------------------------------------
367
+
368
+
С помощта на отразяването можете да правите итерации по всички таблици в базата данни:
369
+
370
+
```php
371
+
// Избройте имената на всички таблици
372
+
foreach ($reflection->tables as $tableName => $table) {
373
+
echo $tableName . "\n";
374
+
}
375
+
376
+
// Проверете дали дадена таблица съществува
377
+
if ($reflection->hasTable('users')) {
378
+
echo "The 'users' table exists";
379
+
}
380
+
381
+
// Извличане на определена таблица
382
+
$table = $reflection->getTable('users');
383
+
```
384
+
385
+
386
+
Информация за колоната .[#toc-column-information]
387
+
-------------------------------------------------
388
+
389
+
За всяка таблица можете да получите подробна информация за нейните колони:
Jak vidíte, metoda `transaction()` vrací návratovou hodnotu callbacku.
349
349
350
350
Volání `transaction()` může být i zanořeno, což zjednodušuje implementaci nezávislých repozitářů.
351
+
352
+
353
+
Reflexe .{data-version:3.2.1}
354
+
=============================
355
+
356
+
Nette Database poskytuje nástroje pro introspekci databázové struktury pomocí třídy [api:Nette\Database\Reflection]. Ta umožňuje získávat informace o tabulkách, sloupcích, indexech a cizích klíčích. Reflexi můžete využít ke generování schémat, vytváření flexibilních aplikací pracujících s databází nebo obecných databázových nástrojů.
357
+
358
+
Objekt reflexe získáme z instance připojení k databázi:
359
+
360
+
```php
361
+
$reflection = $database->getReflection();
362
+
```
363
+
364
+
365
+
Práce s tabulkami
366
+
-----------------
367
+
368
+
Pomocí reflexe můžeme procházet všechny tabulky v databázi:
369
+
370
+
```php
371
+
// Výpis názvů všech tabulek
372
+
foreach ($reflection->tables as $tableName => $table) {
373
+
echo $tableName . "\n";
374
+
}
375
+
376
+
// Ověření existence tabulky
377
+
if ($reflection->hasTable('users')) {
378
+
echo "Tabulka users existuje";
379
+
}
380
+
381
+
// Získání konkrétní tabulky
382
+
$table = $reflection->getTable('users');
383
+
```
384
+
385
+
386
+
Informace o sloupcích
387
+
---------------------
388
+
389
+
Pro každou tabulku můžeme získat detailní informace o jejích sloupcích:
Wie Sie sehen können, gibt die Methode `transaction()` den Rückgabewert des Callbacks zurück.
349
349
350
350
Die Transaktion() kann auch verschachtelt werden, was die Implementierung unabhängiger Repositories vereinfacht.
351
+
352
+
353
+
Reflexion .[#toc-reflection]
354
+
============================
355
+
356
+
Nette Database bietet mit der Klasse [api:Nette\Database\Reflection] Werkzeuge für die Introspektion der Datenbankstruktur. Mit dieser Klasse können Sie Informationen über Tabellen, Spalten, Indizes und Fremdschlüssel abrufen. Sie können Reflection verwenden, um Schemata zu generieren, flexible Anwendungen zu erstellen, die mit Datenbanken arbeiten, oder allgemeine Datenbank-Tools zu entwickeln.
357
+
358
+
Sie können ein Reflection-Objekt von einer Datenbankverbindungsinstanz abrufen:
359
+
360
+
```php
361
+
$reflection = $database->getReflection();
362
+
```
363
+
364
+
365
+
Arbeiten mit Tabellen .[#toc-working-with-tables]
366
+
-------------------------------------------------
367
+
368
+
Mit Hilfe von Reflection können Sie über alle Tabellen in der Datenbank iterieren:
369
+
370
+
```php
371
+
// Auflisten der Namen aller Tabellen
372
+
foreach ($reflection->tables as $tableName => $table) {
373
+
echo $tableName . "\n";
374
+
}
375
+
376
+
// Prüfen, ob eine Tabelle existiert
377
+
if ($reflection->hasTable('users')) {
378
+
echo "The 'users' table exists";
379
+
}
380
+
381
+
// Abrufen einer bestimmten Tabelle
382
+
$table = $reflection->getTable('users');
383
+
```
384
+
385
+
386
+
Informationen zur Säule .[#toc-column-information]
0 commit comments