mirror of
https://github.com/kamilwylegala/cakephp2-php8.git
synced 2024-11-15 11:28:25 +00:00
Merging fixes and enhancements into trunk.
Revision: [2066] Change the bindTo<ModelName>() to bindModel() This works similar to before but has sytax as follows. $this->Book->bindModel(array('belongsTo' => array('Author' => array('conditions' => 'these conditions', 'order' => 'this order by DESC', 'foreignKey' => 'foreign key',)))); git-svn-id: https://svn.cakephp.org/repo/trunk/cake@2067 3807eeeb-6ff5-0310-8944-8be069107fe0
This commit is contained in:
parent
02d90348f8
commit
35997a1e84
3 changed files with 42 additions and 32 deletions
|
@ -6,4 +6,4 @@
|
|||
// +---------------------------------------------------------------------------------------------------+ //
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
0.10.8.2065
|
||||
0.10.8.2067
|
|
@ -368,8 +368,7 @@ class Model extends Object
|
|||
* PHP4 Only
|
||||
*
|
||||
* Handles custom method calls, like findBy<field> for DB models,
|
||||
* custom RPC calls for remote data sources and bind to model calls
|
||||
* to change associations on the fly.
|
||||
* and custom RPC calls for remote data sources
|
||||
*
|
||||
* @param unknown_type $method
|
||||
* @param unknown_type $params
|
||||
|
@ -378,23 +377,29 @@ class Model extends Object
|
|||
* @access protected
|
||||
*/
|
||||
function __call($method, $params, &$return)
|
||||
{
|
||||
$args = func_get_args();
|
||||
if (count($args) > 1 && strpos(low($args[0]), 'bindto') === 0)
|
||||
{
|
||||
$assoc = Inflector::camelize(preg_replace('/bindto/i', '', $args[0]));
|
||||
$this->__constructLinkedModel($assoc, $assoc);
|
||||
$type = array_keys($args[1][0]);
|
||||
$this->__backAssociation[$type[0]] = $this->{$type[0]};
|
||||
$this->{$type[0]}[$assoc] = $args[1][0][$type[0]];
|
||||
$this->__generateAssociation($type[0], $assoc);
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$return = $this->db->query($method, $params, $this);
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Bind model associations on the fly.
|
||||
*
|
||||
* @param array $params
|
||||
* @return true
|
||||
*/
|
||||
function bindModel($params)
|
||||
{
|
||||
foreach($params as $assoc => $model)
|
||||
{
|
||||
$modelName = array_keys($model);
|
||||
$this->__constructLinkedModel($modelName[0], $modelName[0]);
|
||||
$type = $assoc;
|
||||
$this->__backAssociation[$type] = $this->{$type};
|
||||
$this->{$type}[$modelName[0]] = $model[$modelName[0]];
|
||||
$this->__generateAssociation($type, $modelName[0]);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -366,8 +366,7 @@ class Model extends Object
|
|||
|
||||
/**
|
||||
* Handles custom method calls, like findBy<field> for DB models,
|
||||
* custom RPC calls for remote data sources and bind to model calls
|
||||
* to change associations on the fly.
|
||||
* and custom RPC calls for remote data sources
|
||||
*
|
||||
* @param unknown_type $method
|
||||
* @param array $params
|
||||
|
@ -375,22 +374,28 @@ class Model extends Object
|
|||
* @access protected
|
||||
*/
|
||||
function __call($method, $params)
|
||||
{
|
||||
$args = func_get_args();
|
||||
if (count($args) > 1 && strpos(low($args[0]), 'bindto') === 0)
|
||||
{
|
||||
$assoc = preg_replace('/bindto/i', '', $args[0]);
|
||||
$this->__constructLinkedModel($assoc, $assoc);
|
||||
$type = array_keys($args[1][0]);
|
||||
$this->__backAssociation[$type[0]] = $this->{$type[0]};
|
||||
$this->{$type[0]}[$assoc] = $args[1][0][$type[0]];
|
||||
$this->__generateAssociation($type[0], $assoc);
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
return $this->db->query($method, $params, $this);
|
||||
}
|
||||
|
||||
/**
|
||||
* Bind model associations on the fly.
|
||||
*
|
||||
* @param array $params
|
||||
* @return true
|
||||
*/
|
||||
function bindModel($params)
|
||||
{
|
||||
foreach($params as $assoc => $model)
|
||||
{
|
||||
$modelName = array_keys($model);
|
||||
$this->__constructLinkedModel($modelName[0], $modelName[0]);
|
||||
$type = $assoc;
|
||||
$this->__backAssociation[$type] = $this->{$type};
|
||||
$this->{$type}[$modelName[0]] = $model[$modelName[0]];
|
||||
$this->__generateAssociation($type, $modelName[0]);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in a new issue