Hi.
French developper, I 'm new to symphony.
Trying to understand how doctrine works, i've been using
doctrine:commands (buid-schema or build-model/build-sql)
environment :
WAMPSERVER (Apache 2, PHP 5, Mysql 5)
Symfony 1.4 stable
db generated via MYSQL Workbench
CREATE TABLE IF NOT EXISTS `myjobsearch`.`table1` (
`id` INT NOT NULL AUTO_INCREMENT ,
`field01` VARCHAR(45) NOT NULL ,
PRIMARY KEY (`id`) )
ENGINE = InnoDB;
CREATE TABLE IF NOT EXISTS `myjobsearch`.`table2` (
`id` INT NOT NULL ,
`field01` VARCHAR(45) NOT NULL ,
PRIMARY KEY (`id`) ,
INDEX `fk_table2_table1` (`id` ASC) ,
CONSTRAINT `fk_table2_table1`
FOREIGN KEY (`id` )
REFERENCES `myjobsearch`.`table1` (`id` )
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
on first attempt :
- first i've used build-schema from mysql to get a correct schema.yml
file
Table1:
connection: doctrine
tableName: table1
columns:
id:
type: integer(4)
fixed: false
unsigned: false
primary: true
autoincrement: true
field01:
type: string(45)
fixed: false
unsigned: false
primary: false
notnull: true
autoincrement: false
relations:
Table2:
local: id
foreign: id
type: many
Table2:
connection: doctrine
tableName: table2
columns:
id:
type: integer(4)
fixed: false
unsigned: false
primary: true
autoincrement: false
field01:
type: string(45)
fixed: false
unsigned: false
primary: false
notnull: true
autoincrement: false
relations:
Table1:
local: id
foreign: id
type: one
Question 1: why has doctrine generated a one-to-many relation instaed
of one-to-one?
Going on ,ignoring this question, using build-model command:.
the result is that BaseTable1 has in setup() :
...
$this->hasMany('Table2', array(
'local' => 'id',
'foreign' => 'id'));
has many() not matching the db !
on second attempt :
modifiing schema.yml on relation table1->table2 to match on db model
Table1:
...
relations:
Table2:
local: id
foreign: id
type: many
Table2:
...
relations:
Table1:
local: id
foreign: id
type: one
and rebuild model files : great ! i've got to hasone() on both base
classes.
so now , using build-sql command to generate schema.sql:
CREATE TABLE table1 (id INT AUTO_INCREMENT, field01 VARCHAR(45) NOT
NULL, PRIMARY KEY(id)) ENGINE = INNODB;
CREATE TABLE table2 (id INT, field01 VARCHAR(45) NOT NULL, PRIMARY
KEY(id)) ENGINE = INNODB;
Question 2 :huuuu... Dude, were's my FK constraint ?
this tiny example demonstrates i definitly don't understand
doctrine( or yaml) works
is there any tuto explaining basics of yaml syntax for relations
( 1-1, 1-n, n-n)
with WORKING db->build-schema->build-model->build-sql->insert sql ?
thanks
--
You received this message because you are subscribed to the Google Groups
"symfony users" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/symfony-users?hl=en.