Skip to main content

This site requires you to update your browser. Your browsing experience maybe affected by not having the most up to date version.

Data Model Questions /

SS3 has_many relations




Community Member, 532 Posts

25 July 2012 at 3:45am

I'm having a little trouble understanding how the new GridField replaces some of the old interfaces. I'm trying to manage a $has_many relation on a page but when I create a new record using the GridField it doesn't automatically create the relation (just shows a drop down)

My DataObject Looks like this

class FAQ extends DataObject {


   static $db = array(
      'Question' => 'Varchar',
      'Answer' => 'HTMLText'
   static $has_one = array (
      'FaqPage' => 'FaqPage'
   static $summary_fields = array(
      'Question' => 'Question',
      'Answer' => 'Answer'


and the page looks like

class FaqPage extends Page {

    * Static vars
    * ----------------------------------*/
   static $description = 'Holds Frequently Asked Questions';

    * Data model
    * ----------------------------------*/

   static $has_may = array (
      'FAQs' => 'FAQ'

    * Common methods
    * ----------------------------------*/

    public function getCMSFields() {
       $fields = parent::getCMSFields();
       $FAQ = FAQ::get()->filter(array('FaqPageID' => $this->ID));
       $FAQField = new GridField("FAQs", "Frequently Asked Question", $FAQ, GridFieldConfig_RelationEditor::create());
       return $fields;


Not sure what I'm missing and the documentation doesn't appear to be clear