Formul8r dva prvky s rovnakym menom
- cujan
- Člen | 410
Caute mam situaciu, ze ma tabulku
user(id,…)
inbox(id, idUser,…)
outbox(id, iduser,…)
no a potreboval by som v jednom forme dva selecty v jednom budem vyberat uzivatela co prijal zasielku a v druhom co odoslal zasielku, ak pouzijem
$form->addSelect(‚idUser‘,‚Prijimatel‘)
a
$form->addSelect(‚idUser‘,‚Odosielatel‘)
tak samozrejme mam chybu, ze nemozu existovat dva prvky s rovnakym menom…ale ko to pomenovat a spravne namapovat na stlpce v DB?
- CZechBoY
- Člen | 3608
Pojmenuj to jak chceš třeba sender
a recipient
.
Při vkládání do databáze to namapuješ tak jak potřebuješ.
$database->table('inbox')->insert(['idUser' => $values->recipient]);
$database->table('outbox')->insert(['idUser' => $values->sender]);
Nicméně mi přijde tenhle způsob ukládání dat zbytečný. Nestačilo by ti u zprávy (zásilky) uložit kdo je odesilatel a kdo je příjemce? Než mít 2 tabulky na příchozí a odchozí?
- cujan
- Člen | 410
CZechBoY napsal(a):
Pojmenuj to jak chceš třeba
sender
arecipient
. Při vkládání do databáze to namapuješ tak jak potřebuješ.$database->table('inbox')->insert(['idUser' => $values->recipient]); $database->table('outbox')->insert(['idUser' => $values->sender]);
Nicméně mi přijde tenhle způsob ukládání dat zbytečný. Nestačilo by ti u zprávy (zásilky) uložit kdo je odesilatel a kdo je příjemce? Než mít 2 tabulky na příchozí a odchozí?
aj to by slo, dam si to do jednej tabulky napr. idUserIn a idUser Out
a pri vypise do sablony ako budem pristupovat k name napr. v jednom
vypise?
- cujan
- Člen | 410
CZechBoY napsal(a):
jj
nebo ukaž jak máš teď model
model triedy pre pritup ku konkretnej tabulke
<?php
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
namespace App\Model;
use Nette;
/**
* Description of RecordManager
*
* @author Holub
*/
class RecordManager extends BaseManager
{
/** Konstanty pre manipulaciu s modelom*/
const TABLE_NAME = 'record';
/**
* return all rocords from database
* @return Selection record list
*/
public function getRecords()
{
return $this->database->table(self::TABLE_NAME);
}
}
- cujan
- Člen | 410
CZechBoY napsal(a):
@cujan To je dost obecný… Jak to potom používáš?
no napr. v homepagepresenter naplnam grido
@CZechBoY
<?php
namespace App\Presenters;
use Nette;
use App\Model;
use Grido\Grid;
class HomepagePresenter extends BasePresenter
{
public function renderDefault()
{
$this->template->records = $this->recordManager->getRecords();
}
public function createComponentRecordGrid()
{
$grid = new Grid();
$grid->setModel($this->recordManager->getRecords());
$grid->addColumnDate('shippingDate', 'Dátum prijatia záznamu');
$grid->addColumnText('forwarder.name', 'Zaslal - kto');
$grid->addColumnDate('dateOfTransmission', 'Zaslal - dátum');
$grid->addColumnText('fileNumber', 'číslo spisu odosielateľa');
$grid->addColumnText('subject', 'Vec');
$grid->addColumnText('processor.surname', 'Spracovateľ');
$grid->addColumnDate('dateOfSubmission', 'Dátum odovzdania');
$grid->addColumnDate('implementationDate', 'Dátum vybavenia');
//$grid->addColumnText('aaa', 'Vybavené dresát');
$grid->addColumnText('shippingType.name', 'Vybavené - ako');
$grid->addColumnText('registrationMark.name', 'RZ');
$grid->addColumnDate('disposal', 'Záznam o vyradení');
return $grid;
}
}
Editoval cujan (2. 2. 2017 10:35)