dotaz na databázi = bílá obrazovka Nette 2.1
- kovarik.t
- Člen | 18
Při přechodu na verzi NETTE 2.1 se mi nedaří dotazi na databázi. Při dotazu se zobrazí prázdná stránka bez laděnky. Nevim co s tim. Přijde mi že se to vůbec nepřihlásí k databázi. Jakákoliv změna databáze v configu je stejně pořád bílá stránka.
config:
nette:
database:
dsn: 'mysql:host=192.168.1.101;dbname=databaze'
user: root
password: 1234
services:
somethingRepository: Model\somethingRepository
Repozitář:
namespace Model;
use Nette;
abstract class Repository extends Nette\Object
{
/** @var Nette\Database\Context */
private $database;
public function __construct(Nette\Database\Context $database)
{
$this->database = $database;
}
protected function getTable()
{
// název tabulky odvodíme z názvu třídy (portfolioRepository)
preg_match('#(\w+)Repository$#', get_class($this), $m);
return $this->database->table(lcfirst($m[1]));
}
}
Dotazy:
namespace Model;
use Nette;
class somethingRepository extends Repository
{
public function getTable()
{
return $this->getTable();
}
}
V presenteru:
namespace SuperAdminModule;
use Nette\Application\UI\Form,
Nette\Http\UserStorage,
Nette\Diagnostics\Debugger,
Nette\Utils\Strings,
Nette\Utils\Html,
Nette\Database;
class DashboardPresenter extends \app\BasePresenter
{
private $somethingRepository;
protected function startup()
{
parent::startup();
$this->somethingRepository = $this->context->somethingRepository;
}
public function renderDefault()
{
dump($this->somethingRepository->getTable());
}
- Petr Hudík
- Člen | 49
Vláken, kde se řeší bílá obrazovka je tu spousta, zkuste prosím vyhledávání. Možností je spousta, od boku zkusím vystřelit:
- je to chyba jen na produkci nebo jen i v vývoji?
- vyzkoušet promazat temp
- kouknout se do error.log, zkontrolovat složku temp
- práva k zápisu k složkám jako je temp – (pak by se tam nic nezapsalo)
- objevuje se chyba i na stránkách bez připojení k db? postupně zakomentovávat, dokud se nedostanete na jádro pudla
- leninzprahy
- Člen | 150
A co se píše v error logu web serveru? (pro můj Apache na ubuntu je v
/var/log/apache2/error.log
)
- kovarik.t
- Člen | 18
leninzprahy napsal(a):
A co se píše v error logu web serveru? (pro můj Apache na ubuntu je v
/var/log/apache2/error.log
)
ACCES LOG:
::1 – – [08/Jan/2014:16:22:09 +0100] „GET /superAdmin/ HTTP/1.1“
200 – „-“ „Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36
(KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36 OPR/18.0.1284.68“
::1 – – [08/Jan/2014:16:22:23 +0100] „GET /superAdmin/ HTTP/1.1“
200 – „-“ „Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36
(KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36 OPR/18.0.1284.68“
To se opakuje…
v ERROR logu nic neni