本文整理汇总了PHP中Doctrine_Record::oid方法的典型用法代码示例。如果您正苦于以下问题:PHP Doctrine_Record::oid方法的具体用法?PHP Doctrine_Record::oid怎么用?PHP Doctrine_Record::oid使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Doctrine_Record
的用法示例。
在下文中一共展示了Doctrine_Record::oid方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: add
/**
* Adds a record to collection
*
* @param Doctrine_Record $record record to be added
* @param string $key optional key for the record
* @return boolean
*/
public function add($record, $key = null)
{
if (isset($this->referenceField)) {
$value = $this->reference->get($this->relation->getLocalFieldName());
if ($value !== null) {
$record->set($this->referenceField, $value, false);
} else {
$record->set($this->referenceField, $this->reference, false);
}
$relations = $this->relation['table']->getRelations();
foreach ($relations as $relation) {
if ($this->relation['class'] == $relation['localTable']->getOption('name') && $relation->getLocal() == $this->relation->getForeignFieldName()) {
$record->{$relation}['alias'] = $this->reference;
break;
}
}
}
$oid = $record->oid();
if (isset($this->oids[$oid])) {
return false;
}
if (isset($key)) {
if (isset($this->data[$key])) {
return false;
}
$this->data[$key] = $record;
$this->oids[$oid] = true;
return true;
}
if (isset($this->keyColumn)) {
$value = $record->get($this->keyColumn);
if ($value === null) {
throw new Doctrine_Collection_Exception("Couldn't create collection index. Record field '" . $this->keyColumn . "' was null.");
}
$this->data[$value] = $record;
} else {
$this->data[] = $record;
}
$this->oids[$oid] = true;
return true;
}