silverstripe-framework/model/Relation.php
Damian Mooyman bdb1a95758 API Cleanup and refactor of select fields
API Standardise Relation interface
2016-01-21 15:40:19 +13:00

44 lines
977 B
PHP

<?php
namespace SilverStripe\Model;
use DBField;
use SS_Filterable;
use SS_Limitable;
use SS_List;
use SS_Sortable;
/**
* Abstract representation of a DB relation field, either saved or in memory
*
* @package framework
* @subpackage model
*/
interface Relation extends SS_List, SS_Filterable, SS_Sortable, SS_Limitable {
/**
* Sets the ComponentSet to be the given ID list.
* Records will be added and deleted as appropriate.
*
* @param array $idList List of IDs.
*/
public function setByIDList($idList);
/**
* Returns an array with both the keys and values set to the IDs of the records in this list.
*
* Does not return the IDs for unsaved DataObjects
*
* @return array
*/
public function getIDList();
/**
* Return the DBField object that represents the given field on the related class.
*
* @param string $fieldName Name of the field
* @return DBField The field as a DBField object
*/
public function dbObject($fieldName);
}