Skip to content

Latest commit

 

History

History
86 lines (57 loc) · 2.43 KB

datasources.md

File metadata and controls

86 lines (57 loc) · 2.43 KB

DataSources

Returns Result, which contains all data needed for render.

Creating own data source

use Tlapnet\Report\DataSources\DataSource;

class FooDataSource implements DataSource
{

    public function compile(Parameters $parameters): Resultable {}

}

Available data sources

Nette Database

Dibi

Testing

Database

Database data sources (nette and dibi) contains special methods:

  • setSql($sql)
  • setDefaultSql($sql)

Default sql query is used if no parameters are available. (If form is not defined or filled)

Multi-Database

Database multi-datasources are used e.g. for vertical tables. They support multiple database queries.

  • addSql($title, $sql)

Returns MultiResult which contains Results from individual queries.

Random

Generate random data for tests.

datasource:
    factory: Tlapnet\Report\Bridges\Nette\DataSource\RandomDataSource
    setup:
        - addRange(price, 1, 100000)
        - addDate(date)
        - addDateTime(datetime)
        - addRange(count, 1, 100000)
        - setRows(40)

Cache

Data sources support simple caching

datasource:
    factory: @report.datasource.dibi.db.wrapper
    tags: [report.cache: [key: table1, expiration: +1 day]]

Supports key and expiration.