Source of file FirstObjectProvider.php
Size: 1,382 Bytes - Last Modified: 2021-12-23T10:02:17+00:00
/var/www/docs.ssmods.com/process/src/code/Providers/FirstObjectProvider.php
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 | <?php namespace Seeder; use Exception; use SS_Log; /** * Class FirstObjectProvider * @package Seeder */ class FirstObjectProvider extends Provider { /** * @var string */ public static $shorthand = 'First'; /** * @param $field * @param $state * @throws Exception * @returns null */ protected function generateField($field, $state) { throw new Exception('first object provider does not support generating db fields'); } /** * @param $field * @param $state * @return mixed * @throws Exception */ protected function generateOne($field, $state) { $className = $field->dataType; $args = $field->options['arguments']; if (count($args) && !empty($args[0])) { $className = $args[0]; } if (!class_exists($className)) { throw new Exception("class '{$className}' does not exist"); } $object = $className::get()->first(); if (!$object) { SS_Log::log("no instances found for '{$className}' not found", SS_Log::WARN); } return $object; } /** * @param $field * @param $state * @return mixed * @throws Exception */ protected function generateMany($field, $state) { return $this->generateOne($field, $state); } } |