Bonjour,

Je cherche à étendre mes objets métiers ( base ) , or je bute sur un pb de base, je cherche à faire une jointure entre deux objets ( qui ont la même clef )

LOGIN.CDUSR et DROIT.CDUSR, la jointure n'existe pas dans la base ( existant ) je dois donc la crée avec symphony, création d'une nouvelle méthode.
LoginPeer.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
class LoginPeer extends BaseLoginPeer
{
    public function getLoginAndDroit(){
 
        LoginPeer::addSelectColumns($c);
        $c = new Criteria();
        $c->addJoin(self::CDUSR,DroitPeer::CDUSR);
        return self::doSelect($c);
    }
}
Login.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
class Login extends BaseLogin
{
    public function getLoginAndDroit(){
 
        $this = LoginPeer::getLoginAndDroit();
        return $this;
    }
}
generator.yml
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
generator:
  class:              sfPropelAdminGenerator
  param:
    model_class:      Login
    theme:            default
    fields:
      CDUSR: { name: Utilisateur }
      MDP: { name: mot de passe }
      MAIL: { name: courriel }
    list:
       title: Gestion des utilisateurs
    edit:
       title: Edition d'un utlisateur
       display: [ cdusr, mdp, mail, _droitId ]
_droitId est un partial que j'essaye d'utiliser ...

_droit_id.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
<?php
    echo input_tag('droits', $login->getLoginAndDroit());
?>
Et la je me fais insulter, normal je dois être à côté de la plaque ..
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
Fatal error: Cannot re-assign $this in /home/olivier/SIFAGESTION/lib/model/Login.php on line 14
J'ai l'impression vague qu'il aime pas mon code

J'avoue, j'essaye symfony de nouveau avec un projet, et y'a du boulot ...
Olivier