Ref na tabulku neumožní připojení k serveru

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
tttpapi
Člen | 100
+
0
-

Ahoj,

mám tabulku documents a users a když se v latte propojím na tabulku users, tak se mi z celé tabulku načte pouze username a žádná jiná data.
Když si navíc dám vypsat místo username třeba first_name, tak mi to místo výpisu chyby neumožní vůbec připojit se k serveru.

Spojení přerušeno
Spojení se serverem bylo v průběhu načítání stránky ukončeno.

Nette verze 2.1.4

Funkční kód:

<?php
{$item['document']->ref('users', 'author_id')->username}
?>

Nefunkční kód:

<?php
{$item['document']->ref('users', 'author_id')->first_name}
?>

Dump

<?php
{dump $item['document']->ref('users', 'author_id')}

array (1)
  "$item['document']->ref('users', 'author_id')" => Nette\Database\Table\ActiveRow #a4da
  table private => Nette\Database\Table\Selection #ac55 data private => array (2)
  id => 1 username => "admin" (5)
  dataRefreshed private => FALSE isModified private => FALSE
?>

Tabulka users:

<?php
CREATE TABLE `users` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `username` varchar(255) NOT NULL,
  `password` varchar(255) NOT NULL,
  `first_name` varchar(255) NOT NULL,
  `last_name` varchar(255) NOT NULL,
  `email` varchar(255) NOT NULL,
  `system` bit(1) NOT NULL DEFAULT b'0',
  `removed` bit(1) NOT NULL DEFAULT b'0',
  `position_id` int(11) DEFAULT NULL,
  `department_id` int(11) DEFAULT NULL,
  `phone` varchar(255) DEFAULT NULL,
  `role_id` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `username_UNIQUE` (`username`),
  UNIQUE KEY `email_UNIQUE` (`email`),
  KEY `department_FOREIGN` (`department_id`),
  KEY `positions_FOREIGN` (`position_id`),
  KEY `roles_FOREIGN` (`role_id`),
  CONSTRAINT `users_ibfk_1` FOREIGN KEY (`department_id`) REFERENCES `departments` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION,
  CONSTRAINT `users_ibfk_2` FOREIGN KEY (`position_id`) REFERENCES `positions` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION,
  CONSTRAINT `users_ibfk_3` FOREIGN KEY (`role_id`) REFERENCES `roles` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB
?>

Propojení documents a users je přes documents.author_id = users.id.

Nějaký návrh řešení?

nanuqcz
Člen | 822
+
+1
-

Ahoj,
zkus promazat cache a kouknout do složky log na serveru. Na localhostu to běží v pohodě, nebo taky chyba?

P.S. Místo

{$item['document']->ref('users', 'author_id')->username}

by mělo fungovat i toto ;-) Ale jde jen o kratší / hezčí zápis, tvůj problém to pravděpodobné nevyřeší:

{$item['document']->author->username}
tttpapi
Člen | 100
+
+1
-

Nefunguje to ani na localhostu. (databáze je připojená vzdáleně, stejná jako u serveru)
Cache jsem promazal, ale nepomohlo to.
Na serveru cache nepromazávám, jelikož se mi při každém pushi maže sama, takže tam byla prázdná.

V error logu aplikace není vůbec nic.
V error logu apache pak je:
[Thu Aug 07 13:55:30.976307 2014] [core:notice] [pid 22251] AH00051: child pid 65283 exit signal Segmentation fault (11), possible coredump in /etc/apache2

EDIT:
Nevím proč, ale s tím kratším zápisem to funguje…

Editoval tttpapi (7. 8. 2014 14:22)