Както е посочено в документацията:
public array PDOStatement::fetchAll ([ int $fetch_style [, mixed $fetch_argument [, array $ctor_args = array() ]]] )
ctor_args
Arguments of custom class constructor when the fetch_style parameter is PDO::FETCH_CLASS.
същият аргумент е наличен за setFetchMode
public bool PDOStatement::setFetchMode ( int $PDO::FETCH_CLASS , string $classname , array $ctorargs )
Бих приложил това съответно:
Първо добавете свойство $ctorArgs към \Core\Model
със стойност по подразбиране null
.Последва подмяна на текущия setFetchMode обаждания
if (!is_array($this->ctorArgs)) throw new \Excpeption("\"ctorArgs\" must be of type array");
$stm->setFetchMode(PDO::FETCH_CLASS, get_called_class(), $this->ctorArgs);
И накрая добавете свойство $ctorArgs към \App\Models\Admin\Photo
със стойност по подразбиране array("picture")
.
Това ще каже на кода, че вашият конструктор очаква параметъра $picture .
Бих помислил да използвам константа вместо свойство, но това зависи от това как решите да приложите това.