Příkaz z dibi neustále vypisuje No database selected
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- xperia
- Člen | 4
Ahoj,
pokusil jsem se nainstaloval dibi, knihovnu jsem nakopíroval do vendor/others.
Nastavení mám nastaveno následovně:
parameters:
database:
driver: mysql
host: '127.0.0.1'
dbname: test
user: ##############
password: ##############
php:
date.timezone: Europe/Prague
nette:
application:
errorPresenter: Error
mapping:
*: App\*Module\Presenters\*Presenter
session:
expiration: 14 days
database:
dsn: '%database.driver%:host=%database.host%;dbname=%database.dbname%'
user: %database.user%
password: %database.password%
options:
lazy: yes
services:
- App\Model\UserManager
- App\Model\TestRepository
- App\RouterFactory
router: @App\RouterFactory::createRouter
settings: App\Model\Settings
connection:
class: DibiConnection(%database%)
TestRepository.php
namespace App\Model;
use Nette,
Nette\Application\UI,
DibiConnection;
class TestRepository extends Nette\Object
{
private $database;
public function __construct(\DibiConnection $connection)
{
$this->database = $connection;
}
public function findAlls()
{
$query = $this->database->select('*')->from('clanky')->fetchAll();
return $query;
}
...
Hlášku mi to neustále vyhazuje DibiDriverException #1046 > No database
selected,
nicméně když si dám dump $this->database v modelu, zvolenou databázi
tam vidím…
DibiConnection Object
(
[onEvent] =>
[config:DibiConnection:private] => Array
(
[driver] => mysql
[host] => 127.0.0.1
[dbname] => test
[password] => ##############
[username] => ##############
[result] => Array
(
[formatDate] =>
[formatDateTime] =>
)
[name] =>
[flags] =>
[charset] => utf8
[timezone] => +02:00
)
Co jsem provedlo špatně?
Editoval xperia (20. 8. 2014 14:44)