all() public method

{@inheritDoc}
public all ( )
Example #1
0
 /**
  * Integration test for query caching.
  *
  * @return void
  */
 public function testCacheWriteIntegration()
 {
     $table = TableRegistry::get('Articles');
     $query = new Query($this->connection, $table);
     $query->select(['id', 'title']);
     $cacher = $this->getMock('Cake\\Cache\\CacheEngine');
     $cacher->expects($this->once())->method('write')->with('my_key', $this->isInstanceOf('Cake\\Datasource\\ResultSetInterface'));
     $query->cache('my_key', $cacher)->where(['id' => 1]);
     $query->all();
 }
Example #2
0
 /**
  * Builds an array containing the results from fetchQuery indexed by
  * the foreignKey value corresponding to this association.
  *
  * @param \Cake\ORM\Query $fetchQuery The query to get results from
  * @param array $options The options passed to the eager loader
  * @return array
  * @throws \RuntimeException when the association property is not part of the results set.
  */
 protected function _buildResultMap($fetchQuery, $options)
 {
     $resultMap = [];
     $key = (array) $options['foreignKey'];
     $property = $this->target()->association($this->junction()->alias())->property();
     $hydrated = $fetchQuery->hydrate();
     foreach ($fetchQuery->all() as $result) {
         if (!isset($result[$property])) {
             throw new RuntimeException(sprintf('"%s" is missing from the belongsToMany results. Results cannot be created.', $property));
         }
         $result[$this->_junctionProperty] = $result[$property];
         unset($result[$property]);
         if ($hydrated) {
             $result->dirty($this->_junctionProperty, false);
         }
         $values = [];
         foreach ($key as $k) {
             $values[] = $result[$this->_junctionProperty][$k];
         }
         $resultMap[implode(';', $values)][] = $result;
     }
     return $resultMap;
 }
Example #3
0
 /**
  * Builds an array containing the results from fetchQuery indexed by
  * the foreignKey value corresponding to this association.
  *
  * @param \Cake\ORM\Query $fetchQuery The query to get results from
  * @param array $options The options passed to the eager loader
  * @return array
  */
 protected function _buildResultMap($fetchQuery, $options)
 {
     $resultMap = [];
     $key = (array) $options['foreignKey'];
     $property = $this->target()->association($this->junction()->alias())->property();
     $hydrated = $fetchQuery->hydrate();
     foreach ($fetchQuery->all() as $result) {
         $result[$this->_junctionProperty] = $result[$property];
         unset($result[$property]);
         if ($hydrated) {
             $result->dirty($this->_junctionProperty, false);
         }
         $values = [];
         foreach ($key as $k) {
             $values[] = $result[$this->_junctionProperty][$k];
         }
         $resultMap[implode(';', $values)][] = $result;
     }
     return $resultMap;
 }