Я пытаюсь создать объект, но значения не сохраняются в базе данных. Это делается при «индексировании» -действия, потому что плагин вставляется через TypoScript и фактически не создает выход. Таким образом, при вызове действия объекта нет объекта, поэтому я сам его создаю.Extbase хранит пустые значения в базе данных
$stat = new Tx_MyExt_Domain_Model_Stat;
$stat->setSubscriberId($_COOKIE['statid']);
$stat->setDomain($_SERVER['HTTP_HOST']);
$stat->setRequestUri($_SERVER['REQUEST_URI']);
$this->statRepository = t3lib_div::makeInstance('Tx_myExt_Domain_Repository_StatRepository');
$this->statRepository->add($stat);
делает var_dump($stat)
дает следующее:
object(Tx_MyExt_Domain_Model_Stat)#191 (9) {
["subscriber_id":protected]=>
string(1) "2"
["domain":protected]=>
string(22) "test.localhost.example"
["request_uri":protected]=>
string(26) "/testpage/index.php?id=2"
["uid":protected]=>
NULL
["_localizedUid":protected]=>
NULL
["_languageUid":protected]=>
NULL
["pid":protected]=>
NULL
["_isClone":"Tx_Extbase_DomainObject_AbstractDomainObject":private]=>
bool(false)
["_cleanProperties":"Tx_Extbase_DomainObject_AbstractDomainObject":private]=>
NULL
}
Так это выглядит, как значения назначаются правильно. Но если смотреть в базу данных, я получаю это:
uid pid subscriber_id domain request_uri crdate
13 0 0 NULL NULL 1328176026
Repository:
class Tx_MyExt_Domain_Repository_StatRepository extends Tx_Extbase_Persistence_Repository
{}
Модель:
class Tx_MyExt_Domain_Model_Stat extends Tx_Extbase_DomainObject_AbstractEntity
{
/**
* @var int
* @dontvalidate
*/
protected $subscriber_id = 0;
/**
* @var string
* @dontvalidate
*/
protected $domain = '';
/**
* @var string
* @dontvalidate
*/
protected $request_uri = '';
/**
* @param int $susbcriber_id Subscriber id
* @return void
*/
public function setSubscriberId($subscriber_id)
{
$this->subscriber_id = $subscriber_id;
}
/**
* @return int Susbcriber id
*/
public function getSubscriberId()
{
return $this->subscriber_id;
}
/**
* @param string $domain Domain
* @return void
*/
public function setDomain($domain)
{
$this->domain = $domain;
}
/**
* @return string Domain
*/
public function getDomain()
{
return $this->domain;
}
/**
* @param string $request_uri Request URI
* @return void
*/
public function setRequestUri($request_uri)
{
$this->request_uri = $request_uri;
}
/**
* @return string Request URI
*/
public function getRequestUri()
{
return $this->request_uri;
}
}
Может кто-то мне посоветовать, что может быть не так?
спасибо за ваш ответ – pduersteler