Oznámení
Omlouváme se, provoz fóra byl ukončen
		Read-only property v nepřipojené entitě a testování
						Upozornění: Tohle vlákno je hodně staré.		
	před 5 lety

- Petr Hudík
 - Člen | 50
 
Ahoj,
snažím se o testování Nette presenteru bez připojení k databázi. Mám přibližně následující entitu:
/**
 * @property-read int $id
 * @property string|NULL $name
 */
class Article extends Entity
{}
Při testování si vytvořím instanci:
$article = new Article([
    'name' = 'Můj nový článek',
]);
A tuto entitu dostanu do presenteru, který ji předá do šablony. Ale
v šabloně se ptám na $id ($article->id), které neexistuje,
proto mi to vrátí chybu viz víž. Koukal jsem na tento
test, ale v něm není property read only. Je možné nějak nastavit
property, která je read-only? Nebo je řešením smířit se s tím, že
$id nebude read-only?
Cannot get value of property 'id' in entity Model\Entity\PickedWord due to low-level failure: Missing 'id' column in row with id -1.
				před 5 lety

- Tharos
 - Člen | 1042
 
Ahoj,
lze to řešit například takhle:
$data = [
    [
        'id' => 1,
        'name' => 'Můj nový článek',
    ],
];
$fakeConnection = new Connection([
    'lazy' => true,
]);
$author = new Author(
    Result::createInstance($data, 'author', $fakeConnection, $mapper)->getRow(1)
);
echo $author->id;
					Editoval Tharos (21. 8. 2014 22:20)