Bonjour,
Je doit transformer un site existant en utilisant Symfony.
C'est mon premier projet utilisant ce framework.
La base de donnees existe deja.
J'ai utilise propel-build-schema pour genere le fichier schema.yml.
Il y a beaucoup de tables mais pour l'instant je m'interesse surtout a
la table Article.
Mon probleme est que le fichier schema.yml parait bon, j'y vois tout
les champs de la table et pas une de plus, en revanche, dans les
fichiers BaseArticle.php et BaseArticlePeer.php je vois un nouveau
champ (propriete de la classe) respectivement
protected $id;
et
const ID = 'article.ID';
Quand j'essaye d'executer une requete via la fonction suivante :
public static function getRecentArticle()
{
$c = new Criteria();
$c->add(ArticlePeer::STATUS, 'published');
$c->add(ArticlePeer::NEWS, '1');
$c->add(ArticlePeer::TOPIC_OID, '10');
$c->addDescendingOrderByColumn(ArticlePeer::CREATION);
$c->setLimit(1);
$article = ArticlePeer::doSelect($c);
return ($article);
}
je recoit l'exception suivante :
[wrapped: Could not execute query [Native Error: Unknown column
'article.ID' in 'field list'] [User Info: SELECT article.OID,
article.CREATION, article.TITLE, article.BODY_RAW, article.BODY_HTML,
article.AUTHOR_NAME, article.AUTHOR_EMAIL, article.TOPIC_OID,
article.STATUS, article.LETTER_OID, article.NEWS, article.GAMES,
article.MOBILES, article.CHANNEL, article.MANAGER, article.LVN,
article.HIFI, article.SECTOR_OID, article.THEME_OID,
article.MOBILES_OID, article.GAMES_OID, article.MANAGER_OID,
article.MANAGERC_OID, article.LVN_OID, article.MOTS_CLEFS,
article.SOCIT, article.ID FROM article WHERE
article.STATUS='published' AND article.NEWS=1 AND article.TOPIC_OID=10
ORDER BY article.CREATION DESC LIMIT 1]]
Je vais modifier ma fonction pour demander seulement les champs dont
j'aurais besoin, toutefois j'aimerais resoudre ce probleme.
D'avance merci.
Vous pouvez trouver ici une partie du fichier scema.yml :
article:
_attributes:
idMethod: native
oid:
type: INTEGER
required: true
autoIncrement: true
creation:
type: TIMESTAMP
required: true
default: 0000-00-00 00:00:00
title:
type: LONGVARCHAR
body_raw:
type: LONGVARCHAR
body_html:
type: LONGVARCHAR
author_name:
type: VARCHAR
size: 100
required: true
default:
author_email:
type: VARCHAR
size: 100
required: true
default:
topic_oid:
type: INTEGER
required: true
default: 0
status:
type: CHAR
required: true
default: draft
letter_oid:
type: INTEGER
required: true
default: 99
news:
type: TINYINT
required: true
default: 0
games:
type: TINYINT
required: true
default: 0
mobiles:
type: TINYINT
required: true
default: 0
channel:
type: TINYINT
required: true
default: 0
manager:
type: TINYINT
required: true
default: 0
lvn:
type: TINYINT
required: true
default: 0
hifi:
type: TINYINT
required: true
default: 0
sector_oid:
type: INTEGER
required: true
default: 0
theme_oid:
type: INTEGER
required: true
default: 0
mobiles_oid:
type: INTEGER
required: true
default: 0
games_oid:
type: INTEGER
required: true
default: 0
manager_oid:
type: INTEGER
required: true
default: 0
managerc_oid:
type: INTEGER
required: true
default: 0
lvn_oid:
type: INTEGER
required: true
default: 0
mots_clefs:
type: VARCHAR
size: 255
required: true
default:
socit:
type: VARCHAR
size: 255
required: true
default:
_indexes:
oid:
- oid
topic_oid:
- topic_oid
creation:
- creation
author_name:
- author_name
news:
- news
- games
- mobiles
- channel
- manager
- lvn
- hifi
lvn_oid:
- lvn_oid
fulltext:
- title
- body_html
--~--~---------~--~----~------------~-------~--~----~
Vous avez reçu ce message, car vous êtes abonné au groupe Groupe "Symfony-fr"
de Google Groupes.
Pour transmettre des messages à ce groupe, envoyez un e-mail à
l'adresse [email protected]
Pour résilier votre abonnement à ce groupe, envoyez un e-mail à
l'adresse [EMAIL PROTECTED]
Pour afficher d'autres options, visitez ce groupe à l'adresse
http://groups.google.com/group/symfony-fr?hl=fr
-~----------~----~----~----~------~----~------~--~---