Redirect na príspevok po vytvorení
- PadFoot
- Člen | 5
Ahojte mám taký problém.
Keď vytvorím Post chcem až ma redirectne na ten konkrétny post.
Keď som robil cms podľa Nette tutoriálu tak mi to šlo ale teraz mi to nejde
a neviem zistiť prečo.
Píše mi to:
Trying to get property ‚id‘ of non-object
Metóda vyzerá takto
code
<?php
public function postFormSucceeded(Form $form, array $values): void
{
$id = (int) $this->getParameter('id');
if ($id) {
$post = $this->posts->findById($id);
$post->update($values);
$this->flashMessage('The post has been updated.', 'success');
$this->redirect('show', $post->id);
} else {
$post = $this->posts->insert($values);
$this->flashMessage('The post has been created.', 'success');
$this->redirect('show', $post->id);
}
}
?>
Prvý redirect funguje, druhý nie
- PadFoot
- Člen | 5
MajklNajt napsal(a):
ahoj, ukáž aj metódu
$this->posts->insert($values);
?
<?php
public function findAll(): Nette\Database\Table\Selection
{
return $this->database->table('posts');
}
public function insert(iterable $values): void
{
$this->findAll()->insert($values);
}
?>
Editoval PadFoot (14. 6. 2020 19:18)
- PadFoot
- Člen | 5
CZechBoY napsal(a):
btw na tohle by přišlo každý IDEčko, doporučuju se poohledénout po nějakém… já používám phpstorm, někdo zase nedá dopustit na vscode/sublime (s pluginama); případně alespoň pouštět phpstan
Používam VSCode. Vieš mi poradiť, aký plugin dokáže zistiť takéto chyby?
- EncryptSL
- Člen | 11
@PadFoot Zkoušel si něco v podobě tohoto pluginu ? PHP Intelephense třeba od Ben Mewburn, na MarketPlace jich je hromada. Některé bohužel obsahují premium prvky čili by sis musel koupit nějakou licensi aby si měl něco extra.
Nevím jak moc se to vyplatí já využívám tu free verzi bez těch
dodatků co ten PHP Intelephense obsahuje.
No k těm chybám já se naučil nějak s tím popasovat sice mi to zabere
hromadu extra času ale aspoň kontroluji překlepy 2×.
Doufám že jsem odpověděl na tvůj dotaz.
Ps: VSC je k tomu vztahu k PHP trochu mizerné co se týká právě zobrazení onych chyb.
- MajklNajt
- Člen | 502
@PadFoot licencia k PhpStormu na individuálne použitie stojí prvý rok 89 € (potom sa cena znižuje), čo je podľa mňa zanedbateľná čiastka oproti tomu, čo si za našu prácu účtujeme :)
EDIT: a vlastne máš tam aj „fallback license grant“, čiže ak si aj nepredĺžiš predplatné, stále ti zostáva plnohodnotné IDE, lenže updaty sú prudko návykové, takže nebudeš chcieť sa vracať k fallback verzii
Editoval MajklNajt (16. 6. 2020 7:53)
- Kcko
- Člen | 470
PadFoot napsal(a):
CZechBoY napsal(a):
btw na tohle by přišlo každý IDEčko, doporučuju se poohledénout po nějakém… já používám phpstorm, někdo zase nedá dopustit na vscode/sublime (s pluginama); případně alespoň pouštět phpstan
Používam VSCode. Vieš mi poradiť, aký plugin dokáže zistiť takéto chyby?
https://www.devsense.com/en PHPTOOLS by DevSense
- Petr Parolek
- Člen | 455
Zkus ještě Apache NetBeans, který je zdarma, navíc je opensource. Lepší OSS PHP IDE neznám.
- EncryptSL
- Člen | 11
@CZechBoY Bohužel nedělá to i když by mělo. No třeba uvedu příklad taháš přes konstruktor model a chceš si vytáhnout funkci/metodu v Presenteru no a přepíšeš se napíšeš $this->modelBlabla->createArticle(); Tohle je správně ale když napíšeš $this->modelBlabla->crateAritcle(); I tak ti to ani VSC neoznačí jako chybnou metodu. Tolik k VSC bohužel není to primárně na PHP asi proto tomu nikdo nevěnuje tolik pozornosti v Microsoftu.