Ruzie met Doctrine
goed dit is mijn entity:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<?php
use Doctrine\ORM\Mapping as ORM;
/**
* User
*
* @ORM\Table(name="users")
* @ORM\Entity
*/
class User
{
/**
* @var integer
*
* @ORM\Column(name="id", type="integer", nullable=false)
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
private $id;
/**
* @var string
*
* @ORM\Column(name="notify_email", type="string", length=1, nullable=false)
*/
private $notifyEmail = 'N';
/**
* @var string
*
* @ORM\Column(name="notify_sms", type="string", length=1, nullable=false)
*/
private $notifySms = 'N';
/**
* @var string
*
* @ORM\Column(name="verify_email", type="string", length=1, nullable=false)
*/
private $verifyEmail = 'N';
/**
* @var string
*
* @ORM\Column(name="bedrijfsnaam", type="string", length=255, nullable=true)
*/
// EN NOG MEER
}
?>
use Doctrine\ORM\Mapping as ORM;
/**
* User
*
* @ORM\Table(name="users")
* @ORM\Entity
*/
class User
{
/**
* @var integer
*
* @ORM\Column(name="id", type="integer", nullable=false)
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
private $id;
/**
* @var string
*
* @ORM\Column(name="notify_email", type="string", length=1, nullable=false)
*/
private $notifyEmail = 'N';
/**
* @var string
*
* @ORM\Column(name="notify_sms", type="string", length=1, nullable=false)
*/
private $notifySms = 'N';
/**
* @var string
*
* @ORM\Column(name="verify_email", type="string", length=1, nullable=false)
*/
private $verifyEmail = 'N';
/**
* @var string
*
* @ORM\Column(name="bedrijfsnaam", type="string", length=255, nullable=true)
*/
// EN NOG MEER
}
?>
$id, $notifyEmail en $notifySms die gaan goed. $verifyEmail heb ik later toegevoegd en ik krijg het niet voor elkaar om een waarde in de kolom 'verify_email' toe te voegen.
ik heb alles geprobeerd:
- de vendor directory weggooien en met composer opnieuw installeren
- length op 3 gezet
- name veranderd in de annotations
- orm:schema-tool:update --> diverse keren geprobeerd
- orm:validate-schema --> diverse keren geprobeerd
- orm:generate:entities entities --generate-annotations="ORM" --> diverse keren geprobeerd
setters nagekeken alles alles alles
het werkt NIET.
zo wie o wie heeft er ideeën?
Oh ja, mijn composer.json:
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
{
"require": {
"doctrine/orm": "2.4.*",
"symfony/yaml": "2.*"
},
"autoload": {
"psr-0": {"": "src/"}
},
"minimum-stability" : "dev"
}
"require": {
"doctrine/orm": "2.4.*",
"symfony/yaml": "2.*"
},
"autoload": {
"psr-0": {"": "src/"}
},
"minimum-stability" : "dev"
}
Gewijzigd op 10/10/2013 01:15:23 door Frank Nietbelangrijk
Welke driver gebruik je? db:schema-tool:update zou moeten werken, alleen sommige drivers (zoals sqlite) ondersteunen dat niet
ik gebruik pdo_mysql Wouter.
De commandline tool van Doctrine heeft een aantal commando's als
orm:clear-cache:metadata
orm:clear-cache:query
orm:clear-cache:result
Maar als ik die commando's probeerde dan kreeg ik dit resultaat:
[LogicException]
Cannot clear APC Cache from Console, its shared in the Webserver memory and not accessible from the CLI.
En plots ging daar een TL-buis bij me branden. Ik moest apache opnieuw opstarten.
Problem Solved dus.
Als je Apache met APC gebruikt werken de orm:clear-cache methods niet, omdat (zoals de message al zegt) deze memory op een niet toegankelijke plek is opgeslagen.
Ik denk dat ik die geïnstalleerd had om Symfony te stroomlijnen.