must be an instance of Nette\Database\Context – update NETTE

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
MW
Člen | 626
+
0
-

Zdravím a prosím o radu.
Prechazim na novejsi verzi NETTE a neumim si asi spravne nastavit config.
Do BasePresenteru potrebuji predat Nette\Database\Context a leze me tam takto Connection..

Jak na to prosim?

nette:
		database:
			dsn: 'mysql:host=localhost;dbname=dbname'
			user: xxx
			password: 'xxx'
			reflection: Nette\Database\Reflection\ConventionalReflection

	services:

		database: @nette.database.default

		authenticator:
			class: \Module\MyAuth

		authorizator:
			class: \Module\Acl

		#models
		branchesModel:
			class: \Module\BranchesModel
			arguments: ["@database"]
		.........

BaseModel:

class BaseModel extends \Nette\Object {

    /** @var \Nette\Database\Context */
    private $database;


    public function __construct(\Nette\Database\Context $database) {
        $this->database = $database;
    }
}

Editoval MW (14. 10. 2014 11:06)

David Matějka
Moderator | 6445
+
+1
-

pouzij @nette.database.default.context

btw, autowiring nestaci?

MW
Člen | 626
+
0
-

Jak bych to mel autowirovat?

Jinak moc diky.. pomohlo, :)

David Matějka
Moderator | 6445
+
0
-

ze nebudes specifikovat arguments, jen

branchesModel:
    class: \Module\BranchesModel

resp jen:

branchesModel: Module\BranchesModel

Nette zjisti, ze ta sluzba v konstruktoru vyzaduje Nette\Database\Context, tak tam doplni sluzbu prislusneho typu

MW
Člen | 626
+
0
-

Ano, bez toho to jede taky.

V modelu jen volam pak

function __construct(\Nette\Database\Context $database) {

        parent::__construct($database);

.....

Diky !