I have created a Customer dataobject by extending Member, also created many_many data-relation with Package dataobject as mention, I would like increment/decrement 'Credits' field in Customer dataobject, when package is linked/unlinked ie based on Package.Limit
<?php
class Customer extends Member {
private static $db = array(
'Gender' => 'Varchar(2)',
'DateOfBirth' => 'Date',
'Featured' => 'Boolean',
'Credits' => 'Int'
);
private static $many_many = array(
"Packages" => "Package",
);
public function getCMSFields() {
//$fields->addFieldToTab('Root.Main',new TextField('Team',"Team"));
$fields = new FieldList();
// Create a default configuration for the new GridField, allowing record editing
$config = GridFieldConfig_RelationEditor::create();
$config->removeComponentsByType('GridFieldAddNewButton');
// Create a gridfield to hold the package
$packageField = new GridField(
'Packages', // Field name
'Package', // Field title
$this->Packages(), // List of all related students
$config
);
// Create a tab named "Package" and add our field to it
$fields->addFieldToTab('Root.Package', $packageField);
Session::set("SingleID", $this->ID);
//echo $this->ID;
$this->extend('updateCMSFields', $fields);
return $fields;
}
}
class Package extends DataObject{
private static $db = array(
'Title' => 'Varchar(255)',
'Limit' => 'Int',
);
private static $belongs_many_many = array(
"Customers" => "Customer"
);
}