Search code examples
phpsymfony1foreign-keysforeign-key-relationshippropel

How to retrieve a column from a database using a foreign key relationship?


I have user table which stores all his info and I also created a table called user_education through schema.yml [uid column in this table refers to uid of user table]. Model classes have been created using Symfony. I'm able to access all columns of user table. E.g. sf_user->getUser()->getUsername();.

User model class also has a method, getUserEducations(). I need to access a column called coursename of user_education table, but am unable to do so. Currently, I'm trying [ sf_user->getUser()->getUserEducations()->getCoursename(); ] But I'm getting the whole array of records. I can't retrieve a single column by that array.

How can I retrieve it?


Solution

  • You can do this by:

    // get the first tuple
    $sf_user->getUser()->getUserEducations()->getFirst()->getCoursename();
    

    or

    // get the last tuple
    $sf_user->getUser()->getUserEducations()->getLast()->getCoursename();
    

    The proper way (if the user has many educations) is to iterate between the instances:

    foreach($sf_user->getUser()->getUserEducations() as $education){
        //do something with like
        echo $education->getCoursename();
    }