Added title_id column in customer table
This commit is contained in:
@@ -46,17 +46,20 @@ class ParserContext implements \IteratorAggregate
|
||||
;
|
||||
}
|
||||
|
||||
public function set($name, $value) {
|
||||
public function set($name, $value)
|
||||
{
|
||||
$this->store[$name] = $value;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function get($name) {
|
||||
public function get($name)
|
||||
{
|
||||
return $this->store[$name];
|
||||
}
|
||||
|
||||
public function getIterator() {
|
||||
public function getIterator()
|
||||
{
|
||||
return new \ArrayIterator( $this->store );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,6 +21,8 @@ use Thelia\Model\Address as ChildAddress;
|
||||
use Thelia\Model\AddressQuery as ChildAddressQuery;
|
||||
use Thelia\Model\Customer as ChildCustomer;
|
||||
use Thelia\Model\CustomerQuery as ChildCustomerQuery;
|
||||
use Thelia\Model\CustomerTitle as ChildCustomerTitle;
|
||||
use Thelia\Model\CustomerTitleQuery as ChildCustomerTitleQuery;
|
||||
use Thelia\Model\Order as ChildOrder;
|
||||
use Thelia\Model\OrderQuery as ChildOrderQuery;
|
||||
use Thelia\Model\Map\CustomerTableMap;
|
||||
@@ -71,6 +73,12 @@ abstract class Customer implements ActiveRecordInterface
|
||||
*/
|
||||
protected $ref;
|
||||
|
||||
/**
|
||||
* The value for the title_id field.
|
||||
* @var int
|
||||
*/
|
||||
protected $title_id;
|
||||
|
||||
/**
|
||||
* The value for the firstname field.
|
||||
* @var string
|
||||
@@ -137,6 +145,11 @@ abstract class Customer implements ActiveRecordInterface
|
||||
*/
|
||||
protected $updated_at;
|
||||
|
||||
/**
|
||||
* @var CustomerTitle
|
||||
*/
|
||||
protected $aCustomerTitle;
|
||||
|
||||
/**
|
||||
* @var ObjectCollection|ChildAddress[] Collection to store aggregation of ChildAddress objects.
|
||||
*/
|
||||
@@ -445,6 +458,17 @@ abstract class Customer implements ActiveRecordInterface
|
||||
return $this->ref;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the [title_id] column value.
|
||||
*
|
||||
* @return int
|
||||
*/
|
||||
public function getTitleId()
|
||||
{
|
||||
|
||||
return $this->title_id;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the [firstname] column value.
|
||||
*
|
||||
@@ -626,6 +650,31 @@ abstract class Customer implements ActiveRecordInterface
|
||||
return $this;
|
||||
} // setRef()
|
||||
|
||||
/**
|
||||
* Set the value of [title_id] column.
|
||||
*
|
||||
* @param int $v new value
|
||||
* @return \Thelia\Model\Customer The current object (for fluent API support)
|
||||
*/
|
||||
public function setTitleId($v)
|
||||
{
|
||||
if ($v !== null) {
|
||||
$v = (int) $v;
|
||||
}
|
||||
|
||||
if ($this->title_id !== $v) {
|
||||
$this->title_id = $v;
|
||||
$this->modifiedColumns[] = CustomerTableMap::TITLE_ID;
|
||||
}
|
||||
|
||||
if ($this->aCustomerTitle !== null && $this->aCustomerTitle->getId() !== $v) {
|
||||
$this->aCustomerTitle = null;
|
||||
}
|
||||
|
||||
|
||||
return $this;
|
||||
} // setTitleId()
|
||||
|
||||
/**
|
||||
* Set the value of [firstname] column.
|
||||
*
|
||||
@@ -900,40 +949,43 @@ abstract class Customer implements ActiveRecordInterface
|
||||
$col = $row[TableMap::TYPE_NUM == $indexType ? 1 + $startcol : CustomerTableMap::translateFieldName('Ref', TableMap::TYPE_PHPNAME, $indexType)];
|
||||
$this->ref = (null !== $col) ? (string) $col : null;
|
||||
|
||||
$col = $row[TableMap::TYPE_NUM == $indexType ? 2 + $startcol : CustomerTableMap::translateFieldName('Firstname', TableMap::TYPE_PHPNAME, $indexType)];
|
||||
$col = $row[TableMap::TYPE_NUM == $indexType ? 2 + $startcol : CustomerTableMap::translateFieldName('TitleId', TableMap::TYPE_PHPNAME, $indexType)];
|
||||
$this->title_id = (null !== $col) ? (int) $col : null;
|
||||
|
||||
$col = $row[TableMap::TYPE_NUM == $indexType ? 3 + $startcol : CustomerTableMap::translateFieldName('Firstname', TableMap::TYPE_PHPNAME, $indexType)];
|
||||
$this->firstname = (null !== $col) ? (string) $col : null;
|
||||
|
||||
$col = $row[TableMap::TYPE_NUM == $indexType ? 3 + $startcol : CustomerTableMap::translateFieldName('Lastname', TableMap::TYPE_PHPNAME, $indexType)];
|
||||
$col = $row[TableMap::TYPE_NUM == $indexType ? 4 + $startcol : CustomerTableMap::translateFieldName('Lastname', TableMap::TYPE_PHPNAME, $indexType)];
|
||||
$this->lastname = (null !== $col) ? (string) $col : null;
|
||||
|
||||
$col = $row[TableMap::TYPE_NUM == $indexType ? 4 + $startcol : CustomerTableMap::translateFieldName('Email', TableMap::TYPE_PHPNAME, $indexType)];
|
||||
$col = $row[TableMap::TYPE_NUM == $indexType ? 5 + $startcol : CustomerTableMap::translateFieldName('Email', TableMap::TYPE_PHPNAME, $indexType)];
|
||||
$this->email = (null !== $col) ? (string) $col : null;
|
||||
|
||||
$col = $row[TableMap::TYPE_NUM == $indexType ? 5 + $startcol : CustomerTableMap::translateFieldName('Password', TableMap::TYPE_PHPNAME, $indexType)];
|
||||
$col = $row[TableMap::TYPE_NUM == $indexType ? 6 + $startcol : CustomerTableMap::translateFieldName('Password', TableMap::TYPE_PHPNAME, $indexType)];
|
||||
$this->password = (null !== $col) ? (string) $col : null;
|
||||
|
||||
$col = $row[TableMap::TYPE_NUM == $indexType ? 6 + $startcol : CustomerTableMap::translateFieldName('Algo', TableMap::TYPE_PHPNAME, $indexType)];
|
||||
$col = $row[TableMap::TYPE_NUM == $indexType ? 7 + $startcol : CustomerTableMap::translateFieldName('Algo', TableMap::TYPE_PHPNAME, $indexType)];
|
||||
$this->algo = (null !== $col) ? (string) $col : null;
|
||||
|
||||
$col = $row[TableMap::TYPE_NUM == $indexType ? 7 + $startcol : CustomerTableMap::translateFieldName('Reseller', TableMap::TYPE_PHPNAME, $indexType)];
|
||||
$col = $row[TableMap::TYPE_NUM == $indexType ? 8 + $startcol : CustomerTableMap::translateFieldName('Reseller', TableMap::TYPE_PHPNAME, $indexType)];
|
||||
$this->reseller = (null !== $col) ? (int) $col : null;
|
||||
|
||||
$col = $row[TableMap::TYPE_NUM == $indexType ? 8 + $startcol : CustomerTableMap::translateFieldName('Lang', TableMap::TYPE_PHPNAME, $indexType)];
|
||||
$col = $row[TableMap::TYPE_NUM == $indexType ? 9 + $startcol : CustomerTableMap::translateFieldName('Lang', TableMap::TYPE_PHPNAME, $indexType)];
|
||||
$this->lang = (null !== $col) ? (string) $col : null;
|
||||
|
||||
$col = $row[TableMap::TYPE_NUM == $indexType ? 9 + $startcol : CustomerTableMap::translateFieldName('Sponsor', TableMap::TYPE_PHPNAME, $indexType)];
|
||||
$col = $row[TableMap::TYPE_NUM == $indexType ? 10 + $startcol : CustomerTableMap::translateFieldName('Sponsor', TableMap::TYPE_PHPNAME, $indexType)];
|
||||
$this->sponsor = (null !== $col) ? (string) $col : null;
|
||||
|
||||
$col = $row[TableMap::TYPE_NUM == $indexType ? 10 + $startcol : CustomerTableMap::translateFieldName('Discount', TableMap::TYPE_PHPNAME, $indexType)];
|
||||
$col = $row[TableMap::TYPE_NUM == $indexType ? 11 + $startcol : CustomerTableMap::translateFieldName('Discount', TableMap::TYPE_PHPNAME, $indexType)];
|
||||
$this->discount = (null !== $col) ? (double) $col : null;
|
||||
|
||||
$col = $row[TableMap::TYPE_NUM == $indexType ? 11 + $startcol : CustomerTableMap::translateFieldName('CreatedAt', TableMap::TYPE_PHPNAME, $indexType)];
|
||||
$col = $row[TableMap::TYPE_NUM == $indexType ? 12 + $startcol : CustomerTableMap::translateFieldName('CreatedAt', TableMap::TYPE_PHPNAME, $indexType)];
|
||||
if ($col === '0000-00-00 00:00:00') {
|
||||
$col = null;
|
||||
}
|
||||
$this->created_at = (null !== $col) ? PropelDateTime::newInstance($col, null, '\DateTime') : null;
|
||||
|
||||
$col = $row[TableMap::TYPE_NUM == $indexType ? 12 + $startcol : CustomerTableMap::translateFieldName('UpdatedAt', TableMap::TYPE_PHPNAME, $indexType)];
|
||||
$col = $row[TableMap::TYPE_NUM == $indexType ? 13 + $startcol : CustomerTableMap::translateFieldName('UpdatedAt', TableMap::TYPE_PHPNAME, $indexType)];
|
||||
if ($col === '0000-00-00 00:00:00') {
|
||||
$col = null;
|
||||
}
|
||||
@@ -946,7 +998,7 @@ abstract class Customer implements ActiveRecordInterface
|
||||
$this->ensureConsistency();
|
||||
}
|
||||
|
||||
return $startcol + 13; // 13 = CustomerTableMap::NUM_HYDRATE_COLUMNS.
|
||||
return $startcol + 14; // 14 = CustomerTableMap::NUM_HYDRATE_COLUMNS.
|
||||
|
||||
} catch (Exception $e) {
|
||||
throw new PropelException("Error populating \Thelia\Model\Customer object", 0, $e);
|
||||
@@ -968,6 +1020,9 @@ abstract class Customer implements ActiveRecordInterface
|
||||
*/
|
||||
public function ensureConsistency()
|
||||
{
|
||||
if ($this->aCustomerTitle !== null && $this->title_id !== $this->aCustomerTitle->getId()) {
|
||||
$this->aCustomerTitle = null;
|
||||
}
|
||||
} // ensureConsistency
|
||||
|
||||
/**
|
||||
@@ -1007,6 +1062,7 @@ abstract class Customer implements ActiveRecordInterface
|
||||
|
||||
if ($deep) { // also de-associate any related objects?
|
||||
|
||||
$this->aCustomerTitle = null;
|
||||
$this->collAddresses = null;
|
||||
|
||||
$this->collOrders = null;
|
||||
@@ -1133,6 +1189,18 @@ abstract class Customer implements ActiveRecordInterface
|
||||
if (!$this->alreadyInSave) {
|
||||
$this->alreadyInSave = true;
|
||||
|
||||
// We call the save method on the following object(s) if they
|
||||
// were passed to this object by their corresponding set
|
||||
// method. This object relates to these object(s) by a
|
||||
// foreign key reference.
|
||||
|
||||
if ($this->aCustomerTitle !== null) {
|
||||
if ($this->aCustomerTitle->isModified() || $this->aCustomerTitle->isNew()) {
|
||||
$affectedRows += $this->aCustomerTitle->save($con);
|
||||
}
|
||||
$this->setCustomerTitle($this->aCustomerTitle);
|
||||
}
|
||||
|
||||
if ($this->isNew() || $this->isModified()) {
|
||||
// persist changes
|
||||
if ($this->isNew()) {
|
||||
@@ -1210,6 +1278,9 @@ abstract class Customer implements ActiveRecordInterface
|
||||
if ($this->isColumnModified(CustomerTableMap::REF)) {
|
||||
$modifiedColumns[':p' . $index++] = 'REF';
|
||||
}
|
||||
if ($this->isColumnModified(CustomerTableMap::TITLE_ID)) {
|
||||
$modifiedColumns[':p' . $index++] = 'TITLE_ID';
|
||||
}
|
||||
if ($this->isColumnModified(CustomerTableMap::FIRSTNAME)) {
|
||||
$modifiedColumns[':p' . $index++] = 'FIRSTNAME';
|
||||
}
|
||||
@@ -1260,6 +1331,9 @@ abstract class Customer implements ActiveRecordInterface
|
||||
case 'REF':
|
||||
$stmt->bindValue($identifier, $this->ref, PDO::PARAM_STR);
|
||||
break;
|
||||
case 'TITLE_ID':
|
||||
$stmt->bindValue($identifier, $this->title_id, PDO::PARAM_INT);
|
||||
break;
|
||||
case 'FIRSTNAME':
|
||||
$stmt->bindValue($identifier, $this->firstname, PDO::PARAM_STR);
|
||||
break;
|
||||
@@ -1362,36 +1436,39 @@ abstract class Customer implements ActiveRecordInterface
|
||||
return $this->getRef();
|
||||
break;
|
||||
case 2:
|
||||
return $this->getFirstname();
|
||||
return $this->getTitleId();
|
||||
break;
|
||||
case 3:
|
||||
return $this->getLastname();
|
||||
return $this->getFirstname();
|
||||
break;
|
||||
case 4:
|
||||
return $this->getEmail();
|
||||
return $this->getLastname();
|
||||
break;
|
||||
case 5:
|
||||
return $this->getPassword();
|
||||
return $this->getEmail();
|
||||
break;
|
||||
case 6:
|
||||
return $this->getAlgo();
|
||||
return $this->getPassword();
|
||||
break;
|
||||
case 7:
|
||||
return $this->getReseller();
|
||||
return $this->getAlgo();
|
||||
break;
|
||||
case 8:
|
||||
return $this->getLang();
|
||||
return $this->getReseller();
|
||||
break;
|
||||
case 9:
|
||||
return $this->getSponsor();
|
||||
return $this->getLang();
|
||||
break;
|
||||
case 10:
|
||||
return $this->getDiscount();
|
||||
return $this->getSponsor();
|
||||
break;
|
||||
case 11:
|
||||
return $this->getCreatedAt();
|
||||
return $this->getDiscount();
|
||||
break;
|
||||
case 12:
|
||||
return $this->getCreatedAt();
|
||||
break;
|
||||
case 13:
|
||||
return $this->getUpdatedAt();
|
||||
break;
|
||||
default:
|
||||
@@ -1425,17 +1502,18 @@ abstract class Customer implements ActiveRecordInterface
|
||||
$result = array(
|
||||
$keys[0] => $this->getId(),
|
||||
$keys[1] => $this->getRef(),
|
||||
$keys[2] => $this->getFirstname(),
|
||||
$keys[3] => $this->getLastname(),
|
||||
$keys[4] => $this->getEmail(),
|
||||
$keys[5] => $this->getPassword(),
|
||||
$keys[6] => $this->getAlgo(),
|
||||
$keys[7] => $this->getReseller(),
|
||||
$keys[8] => $this->getLang(),
|
||||
$keys[9] => $this->getSponsor(),
|
||||
$keys[10] => $this->getDiscount(),
|
||||
$keys[11] => $this->getCreatedAt(),
|
||||
$keys[12] => $this->getUpdatedAt(),
|
||||
$keys[2] => $this->getTitleId(),
|
||||
$keys[3] => $this->getFirstname(),
|
||||
$keys[4] => $this->getLastname(),
|
||||
$keys[5] => $this->getEmail(),
|
||||
$keys[6] => $this->getPassword(),
|
||||
$keys[7] => $this->getAlgo(),
|
||||
$keys[8] => $this->getReseller(),
|
||||
$keys[9] => $this->getLang(),
|
||||
$keys[10] => $this->getSponsor(),
|
||||
$keys[11] => $this->getDiscount(),
|
||||
$keys[12] => $this->getCreatedAt(),
|
||||
$keys[13] => $this->getUpdatedAt(),
|
||||
);
|
||||
$virtualColumns = $this->virtualColumns;
|
||||
foreach($virtualColumns as $key => $virtualColumn)
|
||||
@@ -1444,6 +1522,9 @@ abstract class Customer implements ActiveRecordInterface
|
||||
}
|
||||
|
||||
if ($includeForeignObjects) {
|
||||
if (null !== $this->aCustomerTitle) {
|
||||
$result['CustomerTitle'] = $this->aCustomerTitle->toArray($keyType, $includeLazyLoadColumns, $alreadyDumpedObjects, true);
|
||||
}
|
||||
if (null !== $this->collAddresses) {
|
||||
$result['Addresses'] = $this->collAddresses->toArray(null, true, $keyType, $includeLazyLoadColumns, $alreadyDumpedObjects);
|
||||
}
|
||||
@@ -1491,36 +1572,39 @@ abstract class Customer implements ActiveRecordInterface
|
||||
$this->setRef($value);
|
||||
break;
|
||||
case 2:
|
||||
$this->setFirstname($value);
|
||||
$this->setTitleId($value);
|
||||
break;
|
||||
case 3:
|
||||
$this->setLastname($value);
|
||||
$this->setFirstname($value);
|
||||
break;
|
||||
case 4:
|
||||
$this->setEmail($value);
|
||||
$this->setLastname($value);
|
||||
break;
|
||||
case 5:
|
||||
$this->setPassword($value);
|
||||
$this->setEmail($value);
|
||||
break;
|
||||
case 6:
|
||||
$this->setAlgo($value);
|
||||
$this->setPassword($value);
|
||||
break;
|
||||
case 7:
|
||||
$this->setReseller($value);
|
||||
$this->setAlgo($value);
|
||||
break;
|
||||
case 8:
|
||||
$this->setLang($value);
|
||||
$this->setReseller($value);
|
||||
break;
|
||||
case 9:
|
||||
$this->setSponsor($value);
|
||||
$this->setLang($value);
|
||||
break;
|
||||
case 10:
|
||||
$this->setDiscount($value);
|
||||
$this->setSponsor($value);
|
||||
break;
|
||||
case 11:
|
||||
$this->setCreatedAt($value);
|
||||
$this->setDiscount($value);
|
||||
break;
|
||||
case 12:
|
||||
$this->setCreatedAt($value);
|
||||
break;
|
||||
case 13:
|
||||
$this->setUpdatedAt($value);
|
||||
break;
|
||||
} // switch()
|
||||
@@ -1549,17 +1633,18 @@ abstract class Customer implements ActiveRecordInterface
|
||||
|
||||
if (array_key_exists($keys[0], $arr)) $this->setId($arr[$keys[0]]);
|
||||
if (array_key_exists($keys[1], $arr)) $this->setRef($arr[$keys[1]]);
|
||||
if (array_key_exists($keys[2], $arr)) $this->setFirstname($arr[$keys[2]]);
|
||||
if (array_key_exists($keys[3], $arr)) $this->setLastname($arr[$keys[3]]);
|
||||
if (array_key_exists($keys[4], $arr)) $this->setEmail($arr[$keys[4]]);
|
||||
if (array_key_exists($keys[5], $arr)) $this->setPassword($arr[$keys[5]]);
|
||||
if (array_key_exists($keys[6], $arr)) $this->setAlgo($arr[$keys[6]]);
|
||||
if (array_key_exists($keys[7], $arr)) $this->setReseller($arr[$keys[7]]);
|
||||
if (array_key_exists($keys[8], $arr)) $this->setLang($arr[$keys[8]]);
|
||||
if (array_key_exists($keys[9], $arr)) $this->setSponsor($arr[$keys[9]]);
|
||||
if (array_key_exists($keys[10], $arr)) $this->setDiscount($arr[$keys[10]]);
|
||||
if (array_key_exists($keys[11], $arr)) $this->setCreatedAt($arr[$keys[11]]);
|
||||
if (array_key_exists($keys[12], $arr)) $this->setUpdatedAt($arr[$keys[12]]);
|
||||
if (array_key_exists($keys[2], $arr)) $this->setTitleId($arr[$keys[2]]);
|
||||
if (array_key_exists($keys[3], $arr)) $this->setFirstname($arr[$keys[3]]);
|
||||
if (array_key_exists($keys[4], $arr)) $this->setLastname($arr[$keys[4]]);
|
||||
if (array_key_exists($keys[5], $arr)) $this->setEmail($arr[$keys[5]]);
|
||||
if (array_key_exists($keys[6], $arr)) $this->setPassword($arr[$keys[6]]);
|
||||
if (array_key_exists($keys[7], $arr)) $this->setAlgo($arr[$keys[7]]);
|
||||
if (array_key_exists($keys[8], $arr)) $this->setReseller($arr[$keys[8]]);
|
||||
if (array_key_exists($keys[9], $arr)) $this->setLang($arr[$keys[9]]);
|
||||
if (array_key_exists($keys[10], $arr)) $this->setSponsor($arr[$keys[10]]);
|
||||
if (array_key_exists($keys[11], $arr)) $this->setDiscount($arr[$keys[11]]);
|
||||
if (array_key_exists($keys[12], $arr)) $this->setCreatedAt($arr[$keys[12]]);
|
||||
if (array_key_exists($keys[13], $arr)) $this->setUpdatedAt($arr[$keys[13]]);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1573,6 +1658,7 @@ abstract class Customer implements ActiveRecordInterface
|
||||
|
||||
if ($this->isColumnModified(CustomerTableMap::ID)) $criteria->add(CustomerTableMap::ID, $this->id);
|
||||
if ($this->isColumnModified(CustomerTableMap::REF)) $criteria->add(CustomerTableMap::REF, $this->ref);
|
||||
if ($this->isColumnModified(CustomerTableMap::TITLE_ID)) $criteria->add(CustomerTableMap::TITLE_ID, $this->title_id);
|
||||
if ($this->isColumnModified(CustomerTableMap::FIRSTNAME)) $criteria->add(CustomerTableMap::FIRSTNAME, $this->firstname);
|
||||
if ($this->isColumnModified(CustomerTableMap::LASTNAME)) $criteria->add(CustomerTableMap::LASTNAME, $this->lastname);
|
||||
if ($this->isColumnModified(CustomerTableMap::EMAIL)) $criteria->add(CustomerTableMap::EMAIL, $this->email);
|
||||
@@ -1648,6 +1734,7 @@ abstract class Customer implements ActiveRecordInterface
|
||||
public function copyInto($copyObj, $deepCopy = false, $makeNew = true)
|
||||
{
|
||||
$copyObj->setRef($this->getRef());
|
||||
$copyObj->setTitleId($this->getTitleId());
|
||||
$copyObj->setFirstname($this->getFirstname());
|
||||
$copyObj->setLastname($this->getLastname());
|
||||
$copyObj->setEmail($this->getEmail());
|
||||
@@ -1707,6 +1794,57 @@ abstract class Customer implements ActiveRecordInterface
|
||||
return $copyObj;
|
||||
}
|
||||
|
||||
/**
|
||||
* Declares an association between this object and a ChildCustomerTitle object.
|
||||
*
|
||||
* @param ChildCustomerTitle $v
|
||||
* @return \Thelia\Model\Customer The current object (for fluent API support)
|
||||
* @throws PropelException
|
||||
*/
|
||||
public function setCustomerTitle(ChildCustomerTitle $v = null)
|
||||
{
|
||||
if ($v === null) {
|
||||
$this->setTitleId(NULL);
|
||||
} else {
|
||||
$this->setTitleId($v->getId());
|
||||
}
|
||||
|
||||
$this->aCustomerTitle = $v;
|
||||
|
||||
// Add binding for other direction of this n:n relationship.
|
||||
// If this object has already been added to the ChildCustomerTitle object, it will not be re-added.
|
||||
if ($v !== null) {
|
||||
$v->addCustomer($this);
|
||||
}
|
||||
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Get the associated ChildCustomerTitle object
|
||||
*
|
||||
* @param ConnectionInterface $con Optional Connection object.
|
||||
* @return ChildCustomerTitle The associated ChildCustomerTitle object.
|
||||
* @throws PropelException
|
||||
*/
|
||||
public function getCustomerTitle(ConnectionInterface $con = null)
|
||||
{
|
||||
if ($this->aCustomerTitle === null && ($this->title_id !== null)) {
|
||||
$this->aCustomerTitle = ChildCustomerTitleQuery::create()->findPk($this->title_id, $con);
|
||||
/* The following can be used additionally to
|
||||
guarantee the related object contains a reference
|
||||
to this object. This level of coupling may, however, be
|
||||
undesirable since it could result in an only partially populated collection
|
||||
in the referenced object.
|
||||
$this->aCustomerTitle->addCustomers($this);
|
||||
*/
|
||||
}
|
||||
|
||||
return $this->aCustomerTitle;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Initializes a collection based on the name of a relation.
|
||||
@@ -2294,6 +2432,7 @@ abstract class Customer implements ActiveRecordInterface
|
||||
{
|
||||
$this->id = null;
|
||||
$this->ref = null;
|
||||
$this->title_id = null;
|
||||
$this->firstname = null;
|
||||
$this->lastname = null;
|
||||
$this->email = null;
|
||||
@@ -2344,6 +2483,7 @@ abstract class Customer implements ActiveRecordInterface
|
||||
$this->collOrders->clearIterator();
|
||||
}
|
||||
$this->collOrders = null;
|
||||
$this->aCustomerTitle = null;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -23,6 +23,7 @@ use Thelia\Model\Map\CustomerTableMap;
|
||||
*
|
||||
* @method ChildCustomerQuery orderById($order = Criteria::ASC) Order by the id column
|
||||
* @method ChildCustomerQuery orderByRef($order = Criteria::ASC) Order by the ref column
|
||||
* @method ChildCustomerQuery orderByTitleId($order = Criteria::ASC) Order by the title_id column
|
||||
* @method ChildCustomerQuery orderByFirstname($order = Criteria::ASC) Order by the firstname column
|
||||
* @method ChildCustomerQuery orderByLastname($order = Criteria::ASC) Order by the lastname column
|
||||
* @method ChildCustomerQuery orderByEmail($order = Criteria::ASC) Order by the email column
|
||||
@@ -37,6 +38,7 @@ use Thelia\Model\Map\CustomerTableMap;
|
||||
*
|
||||
* @method ChildCustomerQuery groupById() Group by the id column
|
||||
* @method ChildCustomerQuery groupByRef() Group by the ref column
|
||||
* @method ChildCustomerQuery groupByTitleId() Group by the title_id column
|
||||
* @method ChildCustomerQuery groupByFirstname() Group by the firstname column
|
||||
* @method ChildCustomerQuery groupByLastname() Group by the lastname column
|
||||
* @method ChildCustomerQuery groupByEmail() Group by the email column
|
||||
@@ -53,6 +55,10 @@ use Thelia\Model\Map\CustomerTableMap;
|
||||
* @method ChildCustomerQuery rightJoin($relation) Adds a RIGHT JOIN clause to the query
|
||||
* @method ChildCustomerQuery innerJoin($relation) Adds a INNER JOIN clause to the query
|
||||
*
|
||||
* @method ChildCustomerQuery leftJoinCustomerTitle($relationAlias = null) Adds a LEFT JOIN clause to the query using the CustomerTitle relation
|
||||
* @method ChildCustomerQuery rightJoinCustomerTitle($relationAlias = null) Adds a RIGHT JOIN clause to the query using the CustomerTitle relation
|
||||
* @method ChildCustomerQuery innerJoinCustomerTitle($relationAlias = null) Adds a INNER JOIN clause to the query using the CustomerTitle relation
|
||||
*
|
||||
* @method ChildCustomerQuery leftJoinAddress($relationAlias = null) Adds a LEFT JOIN clause to the query using the Address relation
|
||||
* @method ChildCustomerQuery rightJoinAddress($relationAlias = null) Adds a RIGHT JOIN clause to the query using the Address relation
|
||||
* @method ChildCustomerQuery innerJoinAddress($relationAlias = null) Adds a INNER JOIN clause to the query using the Address relation
|
||||
@@ -66,6 +72,7 @@ use Thelia\Model\Map\CustomerTableMap;
|
||||
*
|
||||
* @method ChildCustomer findOneById(int $id) Return the first ChildCustomer filtered by the id column
|
||||
* @method ChildCustomer findOneByRef(string $ref) Return the first ChildCustomer filtered by the ref column
|
||||
* @method ChildCustomer findOneByTitleId(int $title_id) Return the first ChildCustomer filtered by the title_id column
|
||||
* @method ChildCustomer findOneByFirstname(string $firstname) Return the first ChildCustomer filtered by the firstname column
|
||||
* @method ChildCustomer findOneByLastname(string $lastname) Return the first ChildCustomer filtered by the lastname column
|
||||
* @method ChildCustomer findOneByEmail(string $email) Return the first ChildCustomer filtered by the email column
|
||||
@@ -80,6 +87,7 @@ use Thelia\Model\Map\CustomerTableMap;
|
||||
*
|
||||
* @method array findById(int $id) Return ChildCustomer objects filtered by the id column
|
||||
* @method array findByRef(string $ref) Return ChildCustomer objects filtered by the ref column
|
||||
* @method array findByTitleId(int $title_id) Return ChildCustomer objects filtered by the title_id column
|
||||
* @method array findByFirstname(string $firstname) Return ChildCustomer objects filtered by the firstname column
|
||||
* @method array findByLastname(string $lastname) Return ChildCustomer objects filtered by the lastname column
|
||||
* @method array findByEmail(string $email) Return ChildCustomer objects filtered by the email column
|
||||
@@ -179,7 +187,7 @@ abstract class CustomerQuery extends ModelCriteria
|
||||
*/
|
||||
protected function findPkSimple($key, $con)
|
||||
{
|
||||
$sql = 'SELECT ID, REF, FIRSTNAME, LASTNAME, EMAIL, PASSWORD, ALGO, RESELLER, LANG, SPONSOR, DISCOUNT, CREATED_AT, UPDATED_AT FROM customer WHERE ID = :p0';
|
||||
$sql = 'SELECT ID, REF, TITLE_ID, FIRSTNAME, LASTNAME, EMAIL, PASSWORD, ALGO, RESELLER, LANG, SPONSOR, DISCOUNT, CREATED_AT, UPDATED_AT FROM customer WHERE ID = :p0';
|
||||
try {
|
||||
$stmt = $con->prepare($sql);
|
||||
$stmt->bindValue(':p0', $key, PDO::PARAM_INT);
|
||||
@@ -338,6 +346,49 @@ abstract class CustomerQuery extends ModelCriteria
|
||||
return $this->addUsingAlias(CustomerTableMap::REF, $ref, $comparison);
|
||||
}
|
||||
|
||||
/**
|
||||
* Filter the query on the title_id column
|
||||
*
|
||||
* Example usage:
|
||||
* <code>
|
||||
* $query->filterByTitleId(1234); // WHERE title_id = 1234
|
||||
* $query->filterByTitleId(array(12, 34)); // WHERE title_id IN (12, 34)
|
||||
* $query->filterByTitleId(array('min' => 12)); // WHERE title_id > 12
|
||||
* </code>
|
||||
*
|
||||
* @see filterByCustomerTitle()
|
||||
*
|
||||
* @param mixed $titleId The value to use as filter.
|
||||
* Use scalar values for equality.
|
||||
* Use array values for in_array() equivalent.
|
||||
* Use associative array('min' => $minValue, 'max' => $maxValue) for intervals.
|
||||
* @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL
|
||||
*
|
||||
* @return ChildCustomerQuery The current query, for fluid interface
|
||||
*/
|
||||
public function filterByTitleId($titleId = null, $comparison = null)
|
||||
{
|
||||
if (is_array($titleId)) {
|
||||
$useMinMax = false;
|
||||
if (isset($titleId['min'])) {
|
||||
$this->addUsingAlias(CustomerTableMap::TITLE_ID, $titleId['min'], Criteria::GREATER_EQUAL);
|
||||
$useMinMax = true;
|
||||
}
|
||||
if (isset($titleId['max'])) {
|
||||
$this->addUsingAlias(CustomerTableMap::TITLE_ID, $titleId['max'], Criteria::LESS_EQUAL);
|
||||
$useMinMax = true;
|
||||
}
|
||||
if ($useMinMax) {
|
||||
return $this;
|
||||
}
|
||||
if (null === $comparison) {
|
||||
$comparison = Criteria::IN;
|
||||
}
|
||||
}
|
||||
|
||||
return $this->addUsingAlias(CustomerTableMap::TITLE_ID, $titleId, $comparison);
|
||||
}
|
||||
|
||||
/**
|
||||
* Filter the query on the firstname column
|
||||
*
|
||||
@@ -709,6 +760,81 @@ abstract class CustomerQuery extends ModelCriteria
|
||||
return $this->addUsingAlias(CustomerTableMap::UPDATED_AT, $updatedAt, $comparison);
|
||||
}
|
||||
|
||||
/**
|
||||
* Filter the query by a related \Thelia\Model\CustomerTitle object
|
||||
*
|
||||
* @param \Thelia\Model\CustomerTitle|ObjectCollection $customerTitle The related object(s) to use as filter
|
||||
* @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL
|
||||
*
|
||||
* @return ChildCustomerQuery The current query, for fluid interface
|
||||
*/
|
||||
public function filterByCustomerTitle($customerTitle, $comparison = null)
|
||||
{
|
||||
if ($customerTitle instanceof \Thelia\Model\CustomerTitle) {
|
||||
return $this
|
||||
->addUsingAlias(CustomerTableMap::TITLE_ID, $customerTitle->getId(), $comparison);
|
||||
} elseif ($customerTitle instanceof ObjectCollection) {
|
||||
if (null === $comparison) {
|
||||
$comparison = Criteria::IN;
|
||||
}
|
||||
|
||||
return $this
|
||||
->addUsingAlias(CustomerTableMap::TITLE_ID, $customerTitle->toKeyValue('PrimaryKey', 'Id'), $comparison);
|
||||
} else {
|
||||
throw new PropelException('filterByCustomerTitle() only accepts arguments of type \Thelia\Model\CustomerTitle or Collection');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds a JOIN clause to the query using the CustomerTitle relation
|
||||
*
|
||||
* @param string $relationAlias optional alias for the relation
|
||||
* @param string $joinType Accepted values are null, 'left join', 'right join', 'inner join'
|
||||
*
|
||||
* @return ChildCustomerQuery The current query, for fluid interface
|
||||
*/
|
||||
public function joinCustomerTitle($relationAlias = null, $joinType = Criteria::LEFT_JOIN)
|
||||
{
|
||||
$tableMap = $this->getTableMap();
|
||||
$relationMap = $tableMap->getRelation('CustomerTitle');
|
||||
|
||||
// create a ModelJoin object for this join
|
||||
$join = new ModelJoin();
|
||||
$join->setJoinType($joinType);
|
||||
$join->setRelationMap($relationMap, $this->useAliasInSQL ? $this->getModelAlias() : null, $relationAlias);
|
||||
if ($previousJoin = $this->getPreviousJoin()) {
|
||||
$join->setPreviousJoin($previousJoin);
|
||||
}
|
||||
|
||||
// add the ModelJoin to the current object
|
||||
if ($relationAlias) {
|
||||
$this->addAlias($relationAlias, $relationMap->getRightTable()->getName());
|
||||
$this->addJoinObject($join, $relationAlias);
|
||||
} else {
|
||||
$this->addJoinObject($join, 'CustomerTitle');
|
||||
}
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Use the CustomerTitle relation CustomerTitle object
|
||||
*
|
||||
* @see useQuery()
|
||||
*
|
||||
* @param string $relationAlias optional alias for the relation,
|
||||
* to be used as main alias in the secondary query
|
||||
* @param string $joinType Accepted values are null, 'left join', 'right join', 'inner join'
|
||||
*
|
||||
* @return \Thelia\Model\CustomerTitleQuery A secondary query class using the current class as primary query
|
||||
*/
|
||||
public function useCustomerTitleQuery($relationAlias = null, $joinType = Criteria::LEFT_JOIN)
|
||||
{
|
||||
return $this
|
||||
->joinCustomerTitle($relationAlias, $joinType)
|
||||
->useQuery($relationAlias ? $relationAlias : 'CustomerTitle', '\Thelia\Model\CustomerTitleQuery');
|
||||
}
|
||||
|
||||
/**
|
||||
* Filter the query by a related \Thelia\Model\Address object
|
||||
*
|
||||
|
||||
@@ -19,6 +19,8 @@ use Propel\Runtime\Parser\AbstractParser;
|
||||
use Propel\Runtime\Util\PropelDateTime;
|
||||
use Thelia\Model\Address as ChildAddress;
|
||||
use Thelia\Model\AddressQuery as ChildAddressQuery;
|
||||
use Thelia\Model\Customer as ChildCustomer;
|
||||
use Thelia\Model\CustomerQuery as ChildCustomerQuery;
|
||||
use Thelia\Model\CustomerTitle as ChildCustomerTitle;
|
||||
use Thelia\Model\CustomerTitleI18n as ChildCustomerTitleI18n;
|
||||
use Thelia\Model\CustomerTitleI18nQuery as ChildCustomerTitleI18nQuery;
|
||||
@@ -90,6 +92,12 @@ abstract class CustomerTitle implements ActiveRecordInterface
|
||||
*/
|
||||
protected $updated_at;
|
||||
|
||||
/**
|
||||
* @var ObjectCollection|ChildCustomer[] Collection to store aggregation of ChildCustomer objects.
|
||||
*/
|
||||
protected $collCustomers;
|
||||
protected $collCustomersPartial;
|
||||
|
||||
/**
|
||||
* @var ObjectCollection|ChildAddress[] Collection to store aggregation of ChildAddress objects.
|
||||
*/
|
||||
@@ -124,6 +132,12 @@ abstract class CustomerTitle implements ActiveRecordInterface
|
||||
*/
|
||||
protected $currentTranslations;
|
||||
|
||||
/**
|
||||
* An array of objects scheduled for deletion.
|
||||
* @var ObjectCollection
|
||||
*/
|
||||
protected $customersScheduledForDeletion = null;
|
||||
|
||||
/**
|
||||
* An array of objects scheduled for deletion.
|
||||
* @var ObjectCollection
|
||||
@@ -711,6 +725,8 @@ abstract class CustomerTitle implements ActiveRecordInterface
|
||||
|
||||
if ($deep) { // also de-associate any related objects?
|
||||
|
||||
$this->collCustomers = null;
|
||||
|
||||
$this->collAddresses = null;
|
||||
|
||||
$this->collCustomerTitleI18ns = null;
|
||||
@@ -848,6 +864,24 @@ abstract class CustomerTitle implements ActiveRecordInterface
|
||||
$this->resetModified();
|
||||
}
|
||||
|
||||
if ($this->customersScheduledForDeletion !== null) {
|
||||
if (!$this->customersScheduledForDeletion->isEmpty()) {
|
||||
foreach ($this->customersScheduledForDeletion as $customer) {
|
||||
// need to save related object because we set the relation to null
|
||||
$customer->save($con);
|
||||
}
|
||||
$this->customersScheduledForDeletion = null;
|
||||
}
|
||||
}
|
||||
|
||||
if ($this->collCustomers !== null) {
|
||||
foreach ($this->collCustomers as $referrerFK) {
|
||||
if (!$referrerFK->isDeleted() && ($referrerFK->isNew() || $referrerFK->isModified())) {
|
||||
$affectedRows += $referrerFK->save($con);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ($this->addressesScheduledForDeletion !== null) {
|
||||
if (!$this->addressesScheduledForDeletion->isEmpty()) {
|
||||
foreach ($this->addressesScheduledForDeletion as $address) {
|
||||
@@ -1069,6 +1103,9 @@ abstract class CustomerTitle implements ActiveRecordInterface
|
||||
}
|
||||
|
||||
if ($includeForeignObjects) {
|
||||
if (null !== $this->collCustomers) {
|
||||
$result['Customers'] = $this->collCustomers->toArray(null, true, $keyType, $includeLazyLoadColumns, $alreadyDumpedObjects);
|
||||
}
|
||||
if (null !== $this->collAddresses) {
|
||||
$result['Addresses'] = $this->collAddresses->toArray(null, true, $keyType, $includeLazyLoadColumns, $alreadyDumpedObjects);
|
||||
}
|
||||
@@ -1242,6 +1279,12 @@ abstract class CustomerTitle implements ActiveRecordInterface
|
||||
// the getter/setter methods for fkey referrer objects.
|
||||
$copyObj->setNew(false);
|
||||
|
||||
foreach ($this->getCustomers() as $relObj) {
|
||||
if ($relObj !== $this) { // ensure that we don't try to copy a reference to ourselves
|
||||
$copyObj->addCustomer($relObj->copy($deepCopy));
|
||||
}
|
||||
}
|
||||
|
||||
foreach ($this->getAddresses() as $relObj) {
|
||||
if ($relObj !== $this) { // ensure that we don't try to copy a reference to ourselves
|
||||
$copyObj->addAddress($relObj->copy($deepCopy));
|
||||
@@ -1295,6 +1338,9 @@ abstract class CustomerTitle implements ActiveRecordInterface
|
||||
*/
|
||||
public function initRelation($relationName)
|
||||
{
|
||||
if ('Customer' == $relationName) {
|
||||
return $this->initCustomers();
|
||||
}
|
||||
if ('Address' == $relationName) {
|
||||
return $this->initAddresses();
|
||||
}
|
||||
@@ -1303,6 +1349,224 @@ abstract class CustomerTitle implements ActiveRecordInterface
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Clears out the collCustomers collection
|
||||
*
|
||||
* This does not modify the database; however, it will remove any associated objects, causing
|
||||
* them to be refetched by subsequent calls to accessor method.
|
||||
*
|
||||
* @return void
|
||||
* @see addCustomers()
|
||||
*/
|
||||
public function clearCustomers()
|
||||
{
|
||||
$this->collCustomers = null; // important to set this to NULL since that means it is uninitialized
|
||||
}
|
||||
|
||||
/**
|
||||
* Reset is the collCustomers collection loaded partially.
|
||||
*/
|
||||
public function resetPartialCustomers($v = true)
|
||||
{
|
||||
$this->collCustomersPartial = $v;
|
||||
}
|
||||
|
||||
/**
|
||||
* Initializes the collCustomers collection.
|
||||
*
|
||||
* By default this just sets the collCustomers collection to an empty array (like clearcollCustomers());
|
||||
* however, you may wish to override this method in your stub class to provide setting appropriate
|
||||
* to your application -- for example, setting the initial array to the values stored in database.
|
||||
*
|
||||
* @param boolean $overrideExisting If set to true, the method call initializes
|
||||
* the collection even if it is not empty
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function initCustomers($overrideExisting = true)
|
||||
{
|
||||
if (null !== $this->collCustomers && !$overrideExisting) {
|
||||
return;
|
||||
}
|
||||
$this->collCustomers = new ObjectCollection();
|
||||
$this->collCustomers->setModel('\Thelia\Model\Customer');
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets an array of ChildCustomer objects which contain a foreign key that references this object.
|
||||
*
|
||||
* If the $criteria is not null, it is used to always fetch the results from the database.
|
||||
* Otherwise the results are fetched from the database the first time, then cached.
|
||||
* Next time the same method is called without $criteria, the cached collection is returned.
|
||||
* If this ChildCustomerTitle is new, it will return
|
||||
* an empty collection or the current collection; the criteria is ignored on a new object.
|
||||
*
|
||||
* @param Criteria $criteria optional Criteria object to narrow the query
|
||||
* @param ConnectionInterface $con optional connection object
|
||||
* @return Collection|ChildCustomer[] List of ChildCustomer objects
|
||||
* @throws PropelException
|
||||
*/
|
||||
public function getCustomers($criteria = null, ConnectionInterface $con = null)
|
||||
{
|
||||
$partial = $this->collCustomersPartial && !$this->isNew();
|
||||
if (null === $this->collCustomers || null !== $criteria || $partial) {
|
||||
if ($this->isNew() && null === $this->collCustomers) {
|
||||
// return empty collection
|
||||
$this->initCustomers();
|
||||
} else {
|
||||
$collCustomers = ChildCustomerQuery::create(null, $criteria)
|
||||
->filterByCustomerTitle($this)
|
||||
->find($con);
|
||||
|
||||
if (null !== $criteria) {
|
||||
if (false !== $this->collCustomersPartial && count($collCustomers)) {
|
||||
$this->initCustomers(false);
|
||||
|
||||
foreach ($collCustomers as $obj) {
|
||||
if (false == $this->collCustomers->contains($obj)) {
|
||||
$this->collCustomers->append($obj);
|
||||
}
|
||||
}
|
||||
|
||||
$this->collCustomersPartial = true;
|
||||
}
|
||||
|
||||
$collCustomers->getInternalIterator()->rewind();
|
||||
|
||||
return $collCustomers;
|
||||
}
|
||||
|
||||
if ($partial && $this->collCustomers) {
|
||||
foreach ($this->collCustomers as $obj) {
|
||||
if ($obj->isNew()) {
|
||||
$collCustomers[] = $obj;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$this->collCustomers = $collCustomers;
|
||||
$this->collCustomersPartial = false;
|
||||
}
|
||||
}
|
||||
|
||||
return $this->collCustomers;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets a collection of Customer objects related by a one-to-many relationship
|
||||
* to the current object.
|
||||
* It will also schedule objects for deletion based on a diff between old objects (aka persisted)
|
||||
* and new objects from the given Propel collection.
|
||||
*
|
||||
* @param Collection $customers A Propel collection.
|
||||
* @param ConnectionInterface $con Optional connection object
|
||||
* @return ChildCustomerTitle The current object (for fluent API support)
|
||||
*/
|
||||
public function setCustomers(Collection $customers, ConnectionInterface $con = null)
|
||||
{
|
||||
$customersToDelete = $this->getCustomers(new Criteria(), $con)->diff($customers);
|
||||
|
||||
|
||||
$this->customersScheduledForDeletion = $customersToDelete;
|
||||
|
||||
foreach ($customersToDelete as $customerRemoved) {
|
||||
$customerRemoved->setCustomerTitle(null);
|
||||
}
|
||||
|
||||
$this->collCustomers = null;
|
||||
foreach ($customers as $customer) {
|
||||
$this->addCustomer($customer);
|
||||
}
|
||||
|
||||
$this->collCustomers = $customers;
|
||||
$this->collCustomersPartial = false;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the number of related Customer objects.
|
||||
*
|
||||
* @param Criteria $criteria
|
||||
* @param boolean $distinct
|
||||
* @param ConnectionInterface $con
|
||||
* @return int Count of related Customer objects.
|
||||
* @throws PropelException
|
||||
*/
|
||||
public function countCustomers(Criteria $criteria = null, $distinct = false, ConnectionInterface $con = null)
|
||||
{
|
||||
$partial = $this->collCustomersPartial && !$this->isNew();
|
||||
if (null === $this->collCustomers || null !== $criteria || $partial) {
|
||||
if ($this->isNew() && null === $this->collCustomers) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
if ($partial && !$criteria) {
|
||||
return count($this->getCustomers());
|
||||
}
|
||||
|
||||
$query = ChildCustomerQuery::create(null, $criteria);
|
||||
if ($distinct) {
|
||||
$query->distinct();
|
||||
}
|
||||
|
||||
return $query
|
||||
->filterByCustomerTitle($this)
|
||||
->count($con);
|
||||
}
|
||||
|
||||
return count($this->collCustomers);
|
||||
}
|
||||
|
||||
/**
|
||||
* Method called to associate a ChildCustomer object to this object
|
||||
* through the ChildCustomer foreign key attribute.
|
||||
*
|
||||
* @param ChildCustomer $l ChildCustomer
|
||||
* @return \Thelia\Model\CustomerTitle The current object (for fluent API support)
|
||||
*/
|
||||
public function addCustomer(ChildCustomer $l)
|
||||
{
|
||||
if ($this->collCustomers === null) {
|
||||
$this->initCustomers();
|
||||
$this->collCustomersPartial = true;
|
||||
}
|
||||
|
||||
if (!in_array($l, $this->collCustomers->getArrayCopy(), true)) { // only add it if the **same** object is not already associated
|
||||
$this->doAddCustomer($l);
|
||||
}
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param Customer $customer The customer object to add.
|
||||
*/
|
||||
protected function doAddCustomer($customer)
|
||||
{
|
||||
$this->collCustomers[]= $customer;
|
||||
$customer->setCustomerTitle($this);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param Customer $customer The customer object to remove.
|
||||
* @return ChildCustomerTitle The current object (for fluent API support)
|
||||
*/
|
||||
public function removeCustomer($customer)
|
||||
{
|
||||
if ($this->getCustomers()->contains($customer)) {
|
||||
$this->collCustomers->remove($this->collCustomers->search($customer));
|
||||
if (null === $this->customersScheduledForDeletion) {
|
||||
$this->customersScheduledForDeletion = clone $this->collCustomers;
|
||||
$this->customersScheduledForDeletion->clear();
|
||||
}
|
||||
$this->customersScheduledForDeletion[]= $customer;
|
||||
$customer->setCustomerTitle(null);
|
||||
}
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Clears out the collAddresses collection
|
||||
*
|
||||
@@ -1801,6 +2065,11 @@ abstract class CustomerTitle implements ActiveRecordInterface
|
||||
public function clearAllReferences($deep = false)
|
||||
{
|
||||
if ($deep) {
|
||||
if ($this->collCustomers) {
|
||||
foreach ($this->collCustomers as $o) {
|
||||
$o->clearAllReferences($deep);
|
||||
}
|
||||
}
|
||||
if ($this->collAddresses) {
|
||||
foreach ($this->collAddresses as $o) {
|
||||
$o->clearAllReferences($deep);
|
||||
@@ -1817,6 +2086,10 @@ abstract class CustomerTitle implements ActiveRecordInterface
|
||||
$this->currentLocale = 'en_US';
|
||||
$this->currentTranslations = null;
|
||||
|
||||
if ($this->collCustomers instanceof Collection) {
|
||||
$this->collCustomers->clearIterator();
|
||||
}
|
||||
$this->collCustomers = null;
|
||||
if ($this->collAddresses instanceof Collection) {
|
||||
$this->collAddresses->clearIterator();
|
||||
}
|
||||
|
||||
@@ -38,6 +38,10 @@ use Thelia\Model\Map\CustomerTitleTableMap;
|
||||
* @method ChildCustomerTitleQuery rightJoin($relation) Adds a RIGHT JOIN clause to the query
|
||||
* @method ChildCustomerTitleQuery innerJoin($relation) Adds a INNER JOIN clause to the query
|
||||
*
|
||||
* @method ChildCustomerTitleQuery leftJoinCustomer($relationAlias = null) Adds a LEFT JOIN clause to the query using the Customer relation
|
||||
* @method ChildCustomerTitleQuery rightJoinCustomer($relationAlias = null) Adds a RIGHT JOIN clause to the query using the Customer relation
|
||||
* @method ChildCustomerTitleQuery innerJoinCustomer($relationAlias = null) Adds a INNER JOIN clause to the query using the Customer relation
|
||||
*
|
||||
* @method ChildCustomerTitleQuery leftJoinAddress($relationAlias = null) Adds a LEFT JOIN clause to the query using the Address relation
|
||||
* @method ChildCustomerTitleQuery rightJoinAddress($relationAlias = null) Adds a RIGHT JOIN clause to the query using the Address relation
|
||||
* @method ChildCustomerTitleQuery innerJoinAddress($relationAlias = null) Adds a INNER JOIN clause to the query using the Address relation
|
||||
@@ -434,6 +438,79 @@ abstract class CustomerTitleQuery extends ModelCriteria
|
||||
return $this->addUsingAlias(CustomerTitleTableMap::UPDATED_AT, $updatedAt, $comparison);
|
||||
}
|
||||
|
||||
/**
|
||||
* Filter the query by a related \Thelia\Model\Customer object
|
||||
*
|
||||
* @param \Thelia\Model\Customer|ObjectCollection $customer the related object to use as filter
|
||||
* @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL
|
||||
*
|
||||
* @return ChildCustomerTitleQuery The current query, for fluid interface
|
||||
*/
|
||||
public function filterByCustomer($customer, $comparison = null)
|
||||
{
|
||||
if ($customer instanceof \Thelia\Model\Customer) {
|
||||
return $this
|
||||
->addUsingAlias(CustomerTitleTableMap::ID, $customer->getTitleId(), $comparison);
|
||||
} elseif ($customer instanceof ObjectCollection) {
|
||||
return $this
|
||||
->useCustomerQuery()
|
||||
->filterByPrimaryKeys($customer->getPrimaryKeys())
|
||||
->endUse();
|
||||
} else {
|
||||
throw new PropelException('filterByCustomer() only accepts arguments of type \Thelia\Model\Customer or Collection');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds a JOIN clause to the query using the Customer relation
|
||||
*
|
||||
* @param string $relationAlias optional alias for the relation
|
||||
* @param string $joinType Accepted values are null, 'left join', 'right join', 'inner join'
|
||||
*
|
||||
* @return ChildCustomerTitleQuery The current query, for fluid interface
|
||||
*/
|
||||
public function joinCustomer($relationAlias = null, $joinType = Criteria::LEFT_JOIN)
|
||||
{
|
||||
$tableMap = $this->getTableMap();
|
||||
$relationMap = $tableMap->getRelation('Customer');
|
||||
|
||||
// create a ModelJoin object for this join
|
||||
$join = new ModelJoin();
|
||||
$join->setJoinType($joinType);
|
||||
$join->setRelationMap($relationMap, $this->useAliasInSQL ? $this->getModelAlias() : null, $relationAlias);
|
||||
if ($previousJoin = $this->getPreviousJoin()) {
|
||||
$join->setPreviousJoin($previousJoin);
|
||||
}
|
||||
|
||||
// add the ModelJoin to the current object
|
||||
if ($relationAlias) {
|
||||
$this->addAlias($relationAlias, $relationMap->getRightTable()->getName());
|
||||
$this->addJoinObject($join, $relationAlias);
|
||||
} else {
|
||||
$this->addJoinObject($join, 'Customer');
|
||||
}
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Use the Customer relation Customer object
|
||||
*
|
||||
* @see useQuery()
|
||||
*
|
||||
* @param string $relationAlias optional alias for the relation,
|
||||
* to be used as main alias in the secondary query
|
||||
* @param string $joinType Accepted values are null, 'left join', 'right join', 'inner join'
|
||||
*
|
||||
* @return \Thelia\Model\CustomerQuery A secondary query class using the current class as primary query
|
||||
*/
|
||||
public function useCustomerQuery($relationAlias = null, $joinType = Criteria::LEFT_JOIN)
|
||||
{
|
||||
return $this
|
||||
->joinCustomer($relationAlias, $joinType)
|
||||
->useQuery($relationAlias ? $relationAlias : 'Customer', '\Thelia\Model\CustomerQuery');
|
||||
}
|
||||
|
||||
/**
|
||||
* Filter the query by a related \Thelia\Model\Address object
|
||||
*
|
||||
|
||||
@@ -56,6 +56,7 @@ class Customer extends BaseCustomer implements UserInterface
|
||||
public function createOrUpdate($titleId, $firstname, $lastname, $address1, $address2, $address3, $phone, $cellphone, $zipcode, $countryId, $email, $plainPassword = null, $lang = null, $reseller = 0, $sponsor = null, $discount = 0)
|
||||
{
|
||||
$this
|
||||
->setTitleId($titleId)
|
||||
->setFirstname($firstname)
|
||||
->setLastname($lastname)
|
||||
->setEmail($email)
|
||||
|
||||
@@ -57,7 +57,7 @@ class CustomerTableMap extends TableMap
|
||||
/**
|
||||
* The total number of columns
|
||||
*/
|
||||
const NUM_COLUMNS = 13;
|
||||
const NUM_COLUMNS = 14;
|
||||
|
||||
/**
|
||||
* The number of lazy-loaded columns
|
||||
@@ -67,7 +67,7 @@ class CustomerTableMap extends TableMap
|
||||
/**
|
||||
* The number of columns to hydrate (NUM_COLUMNS - NUM_LAZY_LOAD_COLUMNS)
|
||||
*/
|
||||
const NUM_HYDRATE_COLUMNS = 13;
|
||||
const NUM_HYDRATE_COLUMNS = 14;
|
||||
|
||||
/**
|
||||
* the column name for the ID field
|
||||
@@ -79,6 +79,11 @@ class CustomerTableMap extends TableMap
|
||||
*/
|
||||
const REF = 'customer.REF';
|
||||
|
||||
/**
|
||||
* the column name for the TITLE_ID field
|
||||
*/
|
||||
const TITLE_ID = 'customer.TITLE_ID';
|
||||
|
||||
/**
|
||||
* the column name for the FIRSTNAME field
|
||||
*/
|
||||
@@ -146,12 +151,12 @@ class CustomerTableMap extends TableMap
|
||||
* e.g. self::$fieldNames[self::TYPE_PHPNAME][0] = 'Id'
|
||||
*/
|
||||
protected static $fieldNames = array (
|
||||
self::TYPE_PHPNAME => array('Id', 'Ref', 'Firstname', 'Lastname', 'Email', 'Password', 'Algo', 'Reseller', 'Lang', 'Sponsor', 'Discount', 'CreatedAt', 'UpdatedAt', ),
|
||||
self::TYPE_STUDLYPHPNAME => array('id', 'ref', 'firstname', 'lastname', 'email', 'password', 'algo', 'reseller', 'lang', 'sponsor', 'discount', 'createdAt', 'updatedAt', ),
|
||||
self::TYPE_COLNAME => array(CustomerTableMap::ID, CustomerTableMap::REF, CustomerTableMap::FIRSTNAME, CustomerTableMap::LASTNAME, CustomerTableMap::EMAIL, CustomerTableMap::PASSWORD, CustomerTableMap::ALGO, CustomerTableMap::RESELLER, CustomerTableMap::LANG, CustomerTableMap::SPONSOR, CustomerTableMap::DISCOUNT, CustomerTableMap::CREATED_AT, CustomerTableMap::UPDATED_AT, ),
|
||||
self::TYPE_RAW_COLNAME => array('ID', 'REF', 'FIRSTNAME', 'LASTNAME', 'EMAIL', 'PASSWORD', 'ALGO', 'RESELLER', 'LANG', 'SPONSOR', 'DISCOUNT', 'CREATED_AT', 'UPDATED_AT', ),
|
||||
self::TYPE_FIELDNAME => array('id', 'ref', 'firstname', 'lastname', 'email', 'password', 'algo', 'reseller', 'lang', 'sponsor', 'discount', 'created_at', 'updated_at', ),
|
||||
self::TYPE_NUM => array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, )
|
||||
self::TYPE_PHPNAME => array('Id', 'Ref', 'TitleId', 'Firstname', 'Lastname', 'Email', 'Password', 'Algo', 'Reseller', 'Lang', 'Sponsor', 'Discount', 'CreatedAt', 'UpdatedAt', ),
|
||||
self::TYPE_STUDLYPHPNAME => array('id', 'ref', 'titleId', 'firstname', 'lastname', 'email', 'password', 'algo', 'reseller', 'lang', 'sponsor', 'discount', 'createdAt', 'updatedAt', ),
|
||||
self::TYPE_COLNAME => array(CustomerTableMap::ID, CustomerTableMap::REF, CustomerTableMap::TITLE_ID, CustomerTableMap::FIRSTNAME, CustomerTableMap::LASTNAME, CustomerTableMap::EMAIL, CustomerTableMap::PASSWORD, CustomerTableMap::ALGO, CustomerTableMap::RESELLER, CustomerTableMap::LANG, CustomerTableMap::SPONSOR, CustomerTableMap::DISCOUNT, CustomerTableMap::CREATED_AT, CustomerTableMap::UPDATED_AT, ),
|
||||
self::TYPE_RAW_COLNAME => array('ID', 'REF', 'TITLE_ID', 'FIRSTNAME', 'LASTNAME', 'EMAIL', 'PASSWORD', 'ALGO', 'RESELLER', 'LANG', 'SPONSOR', 'DISCOUNT', 'CREATED_AT', 'UPDATED_AT', ),
|
||||
self::TYPE_FIELDNAME => array('id', 'ref', 'title_id', 'firstname', 'lastname', 'email', 'password', 'algo', 'reseller', 'lang', 'sponsor', 'discount', 'created_at', 'updated_at', ),
|
||||
self::TYPE_NUM => array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, )
|
||||
);
|
||||
|
||||
/**
|
||||
@@ -161,12 +166,12 @@ class CustomerTableMap extends TableMap
|
||||
* e.g. self::$fieldKeys[self::TYPE_PHPNAME]['Id'] = 0
|
||||
*/
|
||||
protected static $fieldKeys = array (
|
||||
self::TYPE_PHPNAME => array('Id' => 0, 'Ref' => 1, 'Firstname' => 2, 'Lastname' => 3, 'Email' => 4, 'Password' => 5, 'Algo' => 6, 'Reseller' => 7, 'Lang' => 8, 'Sponsor' => 9, 'Discount' => 10, 'CreatedAt' => 11, 'UpdatedAt' => 12, ),
|
||||
self::TYPE_STUDLYPHPNAME => array('id' => 0, 'ref' => 1, 'firstname' => 2, 'lastname' => 3, 'email' => 4, 'password' => 5, 'algo' => 6, 'reseller' => 7, 'lang' => 8, 'sponsor' => 9, 'discount' => 10, 'createdAt' => 11, 'updatedAt' => 12, ),
|
||||
self::TYPE_COLNAME => array(CustomerTableMap::ID => 0, CustomerTableMap::REF => 1, CustomerTableMap::FIRSTNAME => 2, CustomerTableMap::LASTNAME => 3, CustomerTableMap::EMAIL => 4, CustomerTableMap::PASSWORD => 5, CustomerTableMap::ALGO => 6, CustomerTableMap::RESELLER => 7, CustomerTableMap::LANG => 8, CustomerTableMap::SPONSOR => 9, CustomerTableMap::DISCOUNT => 10, CustomerTableMap::CREATED_AT => 11, CustomerTableMap::UPDATED_AT => 12, ),
|
||||
self::TYPE_RAW_COLNAME => array('ID' => 0, 'REF' => 1, 'FIRSTNAME' => 2, 'LASTNAME' => 3, 'EMAIL' => 4, 'PASSWORD' => 5, 'ALGO' => 6, 'RESELLER' => 7, 'LANG' => 8, 'SPONSOR' => 9, 'DISCOUNT' => 10, 'CREATED_AT' => 11, 'UPDATED_AT' => 12, ),
|
||||
self::TYPE_FIELDNAME => array('id' => 0, 'ref' => 1, 'firstname' => 2, 'lastname' => 3, 'email' => 4, 'password' => 5, 'algo' => 6, 'reseller' => 7, 'lang' => 8, 'sponsor' => 9, 'discount' => 10, 'created_at' => 11, 'updated_at' => 12, ),
|
||||
self::TYPE_NUM => array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, )
|
||||
self::TYPE_PHPNAME => array('Id' => 0, 'Ref' => 1, 'TitleId' => 2, 'Firstname' => 3, 'Lastname' => 4, 'Email' => 5, 'Password' => 6, 'Algo' => 7, 'Reseller' => 8, 'Lang' => 9, 'Sponsor' => 10, 'Discount' => 11, 'CreatedAt' => 12, 'UpdatedAt' => 13, ),
|
||||
self::TYPE_STUDLYPHPNAME => array('id' => 0, 'ref' => 1, 'titleId' => 2, 'firstname' => 3, 'lastname' => 4, 'email' => 5, 'password' => 6, 'algo' => 7, 'reseller' => 8, 'lang' => 9, 'sponsor' => 10, 'discount' => 11, 'createdAt' => 12, 'updatedAt' => 13, ),
|
||||
self::TYPE_COLNAME => array(CustomerTableMap::ID => 0, CustomerTableMap::REF => 1, CustomerTableMap::TITLE_ID => 2, CustomerTableMap::FIRSTNAME => 3, CustomerTableMap::LASTNAME => 4, CustomerTableMap::EMAIL => 5, CustomerTableMap::PASSWORD => 6, CustomerTableMap::ALGO => 7, CustomerTableMap::RESELLER => 8, CustomerTableMap::LANG => 9, CustomerTableMap::SPONSOR => 10, CustomerTableMap::DISCOUNT => 11, CustomerTableMap::CREATED_AT => 12, CustomerTableMap::UPDATED_AT => 13, ),
|
||||
self::TYPE_RAW_COLNAME => array('ID' => 0, 'REF' => 1, 'TITLE_ID' => 2, 'FIRSTNAME' => 3, 'LASTNAME' => 4, 'EMAIL' => 5, 'PASSWORD' => 6, 'ALGO' => 7, 'RESELLER' => 8, 'LANG' => 9, 'SPONSOR' => 10, 'DISCOUNT' => 11, 'CREATED_AT' => 12, 'UPDATED_AT' => 13, ),
|
||||
self::TYPE_FIELDNAME => array('id' => 0, 'ref' => 1, 'title_id' => 2, 'firstname' => 3, 'lastname' => 4, 'email' => 5, 'password' => 6, 'algo' => 7, 'reseller' => 8, 'lang' => 9, 'sponsor' => 10, 'discount' => 11, 'created_at' => 12, 'updated_at' => 13, ),
|
||||
self::TYPE_NUM => array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, )
|
||||
);
|
||||
|
||||
/**
|
||||
@@ -187,6 +192,7 @@ class CustomerTableMap extends TableMap
|
||||
// columns
|
||||
$this->addPrimaryKey('ID', 'Id', 'INTEGER', true, null, null);
|
||||
$this->addColumn('REF', 'Ref', 'VARCHAR', true, 50, null);
|
||||
$this->addForeignKey('TITLE_ID', 'TitleId', 'INTEGER', 'customer_title', 'ID', false, null, null);
|
||||
$this->addColumn('FIRSTNAME', 'Firstname', 'VARCHAR', true, 255, null);
|
||||
$this->addColumn('LASTNAME', 'Lastname', 'VARCHAR', true, 255, null);
|
||||
$this->addColumn('EMAIL', 'Email', 'VARCHAR', false, 50, null);
|
||||
@@ -205,6 +211,7 @@ class CustomerTableMap extends TableMap
|
||||
*/
|
||||
public function buildRelations()
|
||||
{
|
||||
$this->addRelation('CustomerTitle', '\\Thelia\\Model\\CustomerTitle', RelationMap::MANY_TO_ONE, array('title_id' => 'id', ), 'RESTRICT', 'RESTRICT');
|
||||
$this->addRelation('Address', '\\Thelia\\Model\\Address', RelationMap::ONE_TO_MANY, array('id' => 'customer_id', ), 'CASCADE', 'RESTRICT', 'Addresses');
|
||||
$this->addRelation('Order', '\\Thelia\\Model\\Order', RelationMap::ONE_TO_MANY, array('id' => 'customer_id', ), 'CASCADE', 'RESTRICT', 'Orders');
|
||||
} // buildRelations()
|
||||
@@ -372,6 +379,7 @@ class CustomerTableMap extends TableMap
|
||||
if (null === $alias) {
|
||||
$criteria->addSelectColumn(CustomerTableMap::ID);
|
||||
$criteria->addSelectColumn(CustomerTableMap::REF);
|
||||
$criteria->addSelectColumn(CustomerTableMap::TITLE_ID);
|
||||
$criteria->addSelectColumn(CustomerTableMap::FIRSTNAME);
|
||||
$criteria->addSelectColumn(CustomerTableMap::LASTNAME);
|
||||
$criteria->addSelectColumn(CustomerTableMap::EMAIL);
|
||||
@@ -386,6 +394,7 @@ class CustomerTableMap extends TableMap
|
||||
} else {
|
||||
$criteria->addSelectColumn($alias . '.ID');
|
||||
$criteria->addSelectColumn($alias . '.REF');
|
||||
$criteria->addSelectColumn($alias . '.TITLE_ID');
|
||||
$criteria->addSelectColumn($alias . '.FIRSTNAME');
|
||||
$criteria->addSelectColumn($alias . '.LASTNAME');
|
||||
$criteria->addSelectColumn($alias . '.EMAIL');
|
||||
|
||||
@@ -166,6 +166,7 @@ class CustomerTitleTableMap extends TableMap
|
||||
*/
|
||||
public function buildRelations()
|
||||
{
|
||||
$this->addRelation('Customer', '\\Thelia\\Model\\Customer', RelationMap::ONE_TO_MANY, array('id' => 'title_id', ), 'RESTRICT', 'RESTRICT', 'Customers');
|
||||
$this->addRelation('Address', '\\Thelia\\Model\\Address', RelationMap::ONE_TO_MANY, array('id' => 'customer_title_id', ), 'RESTRICT', 'RESTRICT', 'Addresses');
|
||||
$this->addRelation('CustomerTitleI18n', '\\Thelia\\Model\\CustomerTitleI18n', RelationMap::ONE_TO_MANY, array('id' => 'id', ), 'CASCADE', null, 'CustomerTitleI18ns');
|
||||
} // buildRelations()
|
||||
|
||||
@@ -329,6 +329,7 @@
|
||||
<table name="customer" namespace="Thelia\Model">
|
||||
<column autoIncrement="true" name="id" primaryKey="true" required="true" type="INTEGER" />
|
||||
<column name="ref" required="true" size="50" type="VARCHAR" />
|
||||
<column name="title_id" type="INTEGER" />
|
||||
<column name="firstname" required="true" size="255" type="VARCHAR" />
|
||||
<column name="lastname" required="true" size="255" type="VARCHAR" />
|
||||
<column name="email" size="50" type="VARCHAR" />
|
||||
@@ -338,6 +339,9 @@
|
||||
<column name="lang" size="10" type="VARCHAR" />
|
||||
<column name="sponsor" size="50" type="VARCHAR" />
|
||||
<column name="discount" type="FLOAT" />
|
||||
<foreign-key foreignTable="customer_title" name="fk_address_customer_title_id" onDelete="RESTRICT" onUpdate="RESTRICT">
|
||||
<reference foreign="id" local="title_id" />
|
||||
</foreign-key>
|
||||
<unique name="ref_UNIQUE">
|
||||
<unique-column name="ref" />
|
||||
</unique>
|
||||
|
||||
Reference in New Issue
Block a user