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)