Getting twig processed content

How to get twig processed content inside a shortcode?

I want to write

[sql-table]
select * from table where id={{ userinfo.id }}
[/sql-table]

I am using the sqlite and persistent-data plugins (which I wrote and are on the downloads page). sqlite gives the shortcode and persistent-data makes form fields into a twig variable.

Inside the [sql-table] shortcode, I have

$stanza = $sc->getContent();

However, dumping $stanza gives me select * from table where id={{ userinfo.id }}.

{{ userinfo.id }} should be 3 after being processed by twig.

Interestingly, the error message generated by the SQLite3 sql engine refers to a bad ‘{’, but when the stanza is dumped via the error template (the expected action in sqlite for an error), I see a where id=3.

So what I want to know is how to force a twig processing on content inside a shortcode.

[frustration]!! [Solved].

The answer is

$stanza = $this->grav['twig']->processString($sc->getContent());