Торт php: Как получить список имен таблиц базы данных с помощью Twig - PullRequest
0 голосов
/ 18 февраля 2020

Я создаю шаблон для выпечки, используя проект Twig для проекта PHP. Все, что я хочу, - это получить доступ к именам таблиц базы данных и их полям, используя twig для генерации кода на основе этих таблиц и полей.

Я мог бы легко получить доступ к именам таблиц, используя (НО ЭТО НЕ ЧЕГО ХОЧУ)

use Cake\Datasource\ConnectionManager;

$db = ConnectionManager::get('default');
$collection = $db->getSchemaCollection();
$listTables = $collection->listTables(); 

Я хочу написать что-то подобное

{% set db = ConnectionManager.get('default') %}
{% set collection = db.getSchemaCollection() %}
{% set listTables = collection.listTables() %}

1 Ответ

0 голосов
/ 18 февраля 2020

Вы не можете использовать PHP Класс или функции в ветке напрямую. Также не рекомендуется использовать его таким образом.

Лучшие решения:

  1. Рекомендуется: введите свой логин в контроллер и передайте Переменная в файл ветки. См. Раздел «Передача переменной» в документации здесь .

  2. Другой способ, который вы можете сделать, - написать расширение Twig. Общая структура: при написании сервиса с некоторыми служебными функциями пишите расширение Twig в качестве моста для доступа к сервису из twig. Расширение Twig будет использовать сервис, и ваш контроллер может использовать сервис тоже. Обратитесь к этому ответу здесь .

...