|
@@ 1641-1671 (lines=31) @@
|
| 1638 |
|
* |
| 1639 |
|
* @return void |
| 1640 |
|
*/ |
| 1641 |
|
public function testGenerateAssociationQueryHasManyWithOffsetAndLimit() { |
| 1642 |
|
$this->Model = new TestModel5(); |
| 1643 |
|
$this->Model->schema(); |
| 1644 |
|
$this->_buildRelatedModels($this->Model); |
| 1645 |
|
|
| 1646 |
|
$backup = $this->Model->hasMany['TestModel6']; |
| 1647 |
|
|
| 1648 |
|
$this->Model->hasMany['TestModel6']['offset'] = 2; |
| 1649 |
|
$this->Model->hasMany['TestModel6']['limit'] = 5; |
| 1650 |
|
|
| 1651 |
|
$binding = array('type' => 'hasMany', 'model' => 'TestModel6'); |
| 1652 |
|
$queryData = array(); |
| 1653 |
|
$resultSet = null; |
| 1654 |
|
$null = null; |
| 1655 |
|
|
| 1656 |
|
$params = &$this->_prepareAssociationQuery($this->Model, $queryData, $binding); |
| 1657 |
|
|
| 1658 |
|
$result = $this->Dbo->generateAssociationQuery($this->Model, $params['linkModel'], $params['type'], $params['assoc'], $params['assocData'], $queryData, $params['external'], $resultSet); |
| 1659 |
|
|
| 1660 |
|
$this->assertRegExp('/^SELECT\s+`TestModel6`\.`id`, `TestModel6`\.`test_model5_id`, `TestModel6`\.`name`, `TestModel6`\.`created`, `TestModel6`\.`updated`\s+/', $result); |
| 1661 |
|
$this->assertRegExp('/\s+FROM\s+\S+`test_model6` AS `TestModel6`\s+WHERE\s+/', $result); |
| 1662 |
|
$this->assertRegExp('/WHERE\s+(?:\()?`TestModel6`\.`test_model5_id`\s+=\s+\({\$__cakeID__\$}\)(?:\))?/', $result); |
| 1663 |
|
$this->assertRegExp('/\s+LIMIT 2,\s*5\s*$/', $result); |
| 1664 |
|
|
| 1665 |
|
$result = $this->Dbo->generateAssociationQuery($this->Model, $null, null, null, null, $queryData, false, $null); |
| 1666 |
|
$this->assertRegExp('/^SELECT\s+`TestModel5`\.`id`, `TestModel5`\.`test_model4_id`, `TestModel5`\.`name`, `TestModel5`\.`created`, `TestModel5`\.`updated`\s+/', $result); |
| 1667 |
|
$this->assertRegExp('/\s+FROM\s+\S+`test_model5` AS `TestModel5`\s+WHERE\s+/', $result); |
| 1668 |
|
$this->assertRegExp('/\s+WHERE\s+(?:\()?1\s+=\s+1(?:\))?\s*$/', $result); |
| 1669 |
|
|
| 1670 |
|
$this->Model->hasMany['TestModel6'] = $backup; |
| 1671 |
|
} |
| 1672 |
|
|
| 1673 |
|
/** |
| 1674 |
|
* testGenerateAssociationQueryHasManyWithPageAndLimit method |
|
@@ 1678-1707 (lines=30) @@
|
| 1675 |
|
* |
| 1676 |
|
* @return void |
| 1677 |
|
*/ |
| 1678 |
|
public function testGenerateAssociationQueryHasManyWithPageAndLimit() { |
| 1679 |
|
$this->Model = new TestModel5(); |
| 1680 |
|
$this->Model->schema(); |
| 1681 |
|
$this->_buildRelatedModels($this->Model); |
| 1682 |
|
|
| 1683 |
|
$backup = $this->Model->hasMany['TestModel6']; |
| 1684 |
|
|
| 1685 |
|
$this->Model->hasMany['TestModel6']['page'] = 2; |
| 1686 |
|
$this->Model->hasMany['TestModel6']['limit'] = 5; |
| 1687 |
|
|
| 1688 |
|
$binding = array('type' => 'hasMany', 'model' => 'TestModel6'); |
| 1689 |
|
$queryData = array(); |
| 1690 |
|
$resultSet = null; |
| 1691 |
|
$null = null; |
| 1692 |
|
|
| 1693 |
|
$params = &$this->_prepareAssociationQuery($this->Model, $queryData, $binding); |
| 1694 |
|
|
| 1695 |
|
$result = $this->Dbo->generateAssociationQuery($this->Model, $params['linkModel'], $params['type'], $params['assoc'], $params['assocData'], $queryData, $params['external'], $resultSet); |
| 1696 |
|
$this->assertRegExp('/^SELECT\s+`TestModel6`\.`id`, `TestModel6`\.`test_model5_id`, `TestModel6`\.`name`, `TestModel6`\.`created`, `TestModel6`\.`updated`\s+/', $result); |
| 1697 |
|
$this->assertRegExp('/\s+FROM\s+\S+`test_model6` AS `TestModel6`\s+WHERE\s+/', $result); |
| 1698 |
|
$this->assertRegExp('/WHERE\s+(?:\()?`TestModel6`\.`test_model5_id`\s+=\s+\({\$__cakeID__\$}\)(?:\))?/', $result); |
| 1699 |
|
$this->assertRegExp('/\s+LIMIT 5,\s*5\s*$/', $result); |
| 1700 |
|
|
| 1701 |
|
$result = $this->Dbo->generateAssociationQuery($this->Model, $null, null, null, null, $queryData, false, $null); |
| 1702 |
|
$this->assertRegExp('/^SELECT\s+`TestModel5`\.`id`, `TestModel5`\.`test_model4_id`, `TestModel5`\.`name`, `TestModel5`\.`created`, `TestModel5`\.`updated`\s+/', $result); |
| 1703 |
|
$this->assertRegExp('/\s+FROM\s+\S+`test_model5` AS `TestModel5`\s+WHERE\s+/', $result); |
| 1704 |
|
$this->assertRegExp('/\s+WHERE\s+(?:\()?1\s+=\s+1(?:\))?\s*$/', $result); |
| 1705 |
|
|
| 1706 |
|
$this->Model->hasMany['TestModel6'] = $backup; |
| 1707 |
|
} |
| 1708 |
|
|
| 1709 |
|
/** |
| 1710 |
|
* testGenerateAssociationQueryHasManyWithFields method |
|
@@ 1920-1949 (lines=30) @@
|
| 1917 |
|
* |
| 1918 |
|
* @return void |
| 1919 |
|
*/ |
| 1920 |
|
public function testGenerateAssociationQueryHasAndBelongsToManyWithOffsetAndLimit() { |
| 1921 |
|
$this->Model = new TestModel4(); |
| 1922 |
|
$this->Model->schema(); |
| 1923 |
|
$this->_buildRelatedModels($this->Model); |
| 1924 |
|
|
| 1925 |
|
$backup = $this->Model->hasAndBelongsToMany['TestModel7']; |
| 1926 |
|
|
| 1927 |
|
$this->Model->hasAndBelongsToMany['TestModel7']['offset'] = 2; |
| 1928 |
|
$this->Model->hasAndBelongsToMany['TestModel7']['limit'] = 5; |
| 1929 |
|
|
| 1930 |
|
$binding = array('type' => 'hasAndBelongsToMany', 'model' => 'TestModel7'); |
| 1931 |
|
$queryData = array(); |
| 1932 |
|
$resultSet = null; |
| 1933 |
|
$null = null; |
| 1934 |
|
|
| 1935 |
|
$params = &$this->_prepareAssociationQuery($this->Model, $queryData, $binding); |
| 1936 |
|
|
| 1937 |
|
$result = $this->Dbo->generateAssociationQuery($this->Model, $params['linkModel'], $params['type'], $params['assoc'], $params['assocData'], $queryData, $params['external'], $resultSet); |
| 1938 |
|
$this->assertRegExp('/^SELECT\s+`TestModel7`\.`id`, `TestModel7`\.`name`, `TestModel7`\.`created`, `TestModel7`\.`updated`, `TestModel4TestModel7`\.`test_model4_id`, `TestModel4TestModel7`\.`test_model7_id`\s+/', $result); |
| 1939 |
|
$this->assertRegExp('/\s+FROM\s+\S+`test_model7`\s+AS\s+`TestModel7`\s+JOIN\s+\S+`test_model4_test_model7`\s+AS\s+`TestModel4TestModel7`/', $result); |
| 1940 |
|
$this->assertRegExp('/\s+ON\s+\(`TestModel4TestModel7`\.`test_model4_id`\s+=\s+{\$__cakeID__\$}\s+/', $result); |
| 1941 |
|
$this->assertRegExp('/\s+AND\s+`TestModel4TestModel7`\.`test_model7_id`\s+=\s+`TestModel7`\.`id`\)\s+WHERE\s+/', $result); |
| 1942 |
|
$this->assertRegExp('/\s+(?:\()?1\s+=\s+1(?:\))?\s*\s+LIMIT 2,\s*5\s*$/', $result); |
| 1943 |
|
|
| 1944 |
|
$result = $this->Dbo->generateAssociationQuery($this->Model, $null, null, null, null, $queryData, false, $null); |
| 1945 |
|
$this->assertRegExp('/^SELECT\s+`TestModel4`\.`id`, `TestModel4`\.`name`, `TestModel4`\.`created`, `TestModel4`\.`updated`\s+/', $result); |
| 1946 |
|
$this->assertRegExp('/\s+FROM\s+\S+`test_model4` AS `TestModel4`\s+WHERE\s+(?:\()?1\s+=\s+1(?:\))?\s*$/', $result); |
| 1947 |
|
|
| 1948 |
|
$this->Model->hasAndBelongsToMany['TestModel7'] = $backup; |
| 1949 |
|
} |
| 1950 |
|
|
| 1951 |
|
/** |
| 1952 |
|
* testGenerateAssociationQueryHasAndBelongsToManyWithPageAndLimit method |
|
@@ 1956-1985 (lines=30) @@
|
| 1953 |
|
* |
| 1954 |
|
* @return void |
| 1955 |
|
*/ |
| 1956 |
|
public function testGenerateAssociationQueryHasAndBelongsToManyWithPageAndLimit() { |
| 1957 |
|
$this->Model = new TestModel4(); |
| 1958 |
|
$this->Model->schema(); |
| 1959 |
|
$this->_buildRelatedModels($this->Model); |
| 1960 |
|
|
| 1961 |
|
$backup = $this->Model->hasAndBelongsToMany['TestModel7']; |
| 1962 |
|
|
| 1963 |
|
$this->Model->hasAndBelongsToMany['TestModel7']['page'] = 2; |
| 1964 |
|
$this->Model->hasAndBelongsToMany['TestModel7']['limit'] = 5; |
| 1965 |
|
|
| 1966 |
|
$binding = array('type' => 'hasAndBelongsToMany', 'model' => 'TestModel7'); |
| 1967 |
|
$queryData = array(); |
| 1968 |
|
$resultSet = null; |
| 1969 |
|
$null = null; |
| 1970 |
|
|
| 1971 |
|
$params = &$this->_prepareAssociationQuery($this->Model, $queryData, $binding); |
| 1972 |
|
|
| 1973 |
|
$result = $this->Dbo->generateAssociationQuery($this->Model, $params['linkModel'], $params['type'], $params['assoc'], $params['assocData'], $queryData, $params['external'], $resultSet); |
| 1974 |
|
$this->assertRegExp('/^SELECT\s+`TestModel7`\.`id`, `TestModel7`\.`name`, `TestModel7`\.`created`, `TestModel7`\.`updated`, `TestModel4TestModel7`\.`test_model4_id`, `TestModel4TestModel7`\.`test_model7_id`\s+/', $result); |
| 1975 |
|
$this->assertRegExp('/\s+FROM\s+\S+`test_model7`\s+AS\s+`TestModel7`\s+JOIN\s+\S+`test_model4_test_model7`\s+AS\s+`TestModel4TestModel7`/', $result); |
| 1976 |
|
$this->assertRegExp('/\s+ON\s+\(`TestModel4TestModel7`\.`test_model4_id`\s+=\s+{\$__cakeID__\$}/', $result); |
| 1977 |
|
$this->assertRegExp('/\s+AND\s+`TestModel4TestModel7`\.`test_model7_id`\s+=\s+`TestModel7`\.`id`\)\s+WHERE\s+/', $result); |
| 1978 |
|
$this->assertRegExp('/\s+(?:\()?1\s+=\s+1(?:\))?\s*\s+LIMIT 5,\s*5\s*$/', $result); |
| 1979 |
|
|
| 1980 |
|
$result = $this->Dbo->generateAssociationQuery($this->Model, $null, null, null, null, $queryData, false, $null); |
| 1981 |
|
$this->assertRegExp('/^SELECT\s+`TestModel4`\.`id`, `TestModel4`\.`name`, `TestModel4`\.`created`, `TestModel4`\.`updated`\s+/', $result); |
| 1982 |
|
$this->assertRegExp('/\s+FROM\s+\S+`test_model4` AS `TestModel4`\s+WHERE\s+(?:\()?1\s+=\s+1(?:\))?\s*$/', $result); |
| 1983 |
|
|
| 1984 |
|
$this->Model->hasAndBelongsToMany['TestModel7'] = $backup; |
| 1985 |
|
} |
| 1986 |
|
|
| 1987 |
|
/** |
| 1988 |
|
* testSelectDistict method |