Example #1
0
 /**
  * {@inheritdoc}
  */
 public function preload(array $entryIds)
 {
     $query = $this->model->fromEntryCollection($this->collection);
     if (isset($this->hydrators['matrix'])) {
         $query->fromMatrix($this->hydrators['matrix']->getCols(), $this->hydrators['matrix']->getRows());
     }
     if (isset($this->hydrators['grid'])) {
         $query->fromGrid($this->hydrators['grid']->getCols(), $this->hydrators['grid']->getRows());
     }
     $files = $query->get();
     foreach ($files as $file) {
         if (!$file->upload_location_id || !($uploadPref = $this->uploadPrefRepository->find($file->upload_location_id))) {
             continue;
         }
         $file->setUploadPref($uploadPref);
         $this->files['{filedir_' . $file->upload_location_id . '}' . $file->file_name] = $file;
     }
 }
Example #2
0
 public function testFromEntryCollectionScope()
 {
     $field = new Field();
     $field->field_type = 'file';
     $field->field_id = 1;
     $field->field_name = 'file';
     $channel = new Channel();
     $channel->fields = new FieldCollection([$field]);
     $entry = new Entry();
     $entry->field_id_1 = '{filedir_1}1eecbed0063a0253.jpg';
     $entry->chan = $entry->channel = $channel;
     $entries = new EntryCollection([$entry]);
     $file = File::fromEntryCollection($entries)->first();
     $this->assertEquals(1, $file->file_id);
 }