2010-12-06 2 views
0

内部結合基準を作成して、バックエンドの要素のリストを表示しました。symfony:バックエンドリストの別のモデルからフィールドを追加しようとしています。内部結合

これは私のモデルです:

user: 
    name: { type: varchar(255) } 
    age: { type: integer } 

    article: 
    title:  { type: varchar(255) } 
    content:  { type: varchar(255) } 
    user_id:  { type: varchar(255) } 

、これはarticleモジュールの私にgenerator.yml(一部)である:

list: 
    peer_method: getArticles 
    display: [title, content, age] 

そして、これは、メソッドgetArticles()である:

public static function getArticles() 
{ 
    $con = Propel::getConnection(); 
    $sql = "select * from article LEFT JOIN user ON article.user_id = user.id"; 
    $stmt = $con->prepare($sql);  


    $result = $stmt->execute(); 
    $articles = self::populateObjects($stmt); 

    return $articles; 

} 

「age」フィールドに対応する列を表示したいので、記事のリストを表示しようとすると「メソッドArticles :: getAge()が定義されていません」などのエラーが表示されます。

私は記事:: getAge()メソッドを作成する必要があると思いますが、内部にはどうすればいいですか?記事のフィールドuser_idの値に対応するユーザオブジェクトを取得する新しい基準?それとも、私は他のものに間違っていますか?私は通常、教義を使用しますが、 -

class Articles 
{ 
    public function getAge() 
    { 
    return $this->getUser()->getAge(); 
    } 
} 

したり、関連するモデルに基づいて値を取得するために、類似したコード:

SF 1.4/

よろしく

ハビが

答えて

0

はい推進私のぼんやりしたPropelの記憶から、私は上記がうまくいくと思う:-)

関連する問題