Jak wspomniano w dokumentacji:
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.
ten sam argument jest dostępny dla setFetchMode
public bool PDOStatement::setFetchMode ( int $PDO::FETCH_CLASS , string $classname , array $ctorargs )
Zrealizowałbym to odpowiednio:
Najpierw dodaj właściwość $ctorArgs do \Core\Model
z domyślną wartością null
.Następnie następuje zastąpienie obecnego setFetchMode połączenia
if (!is_array($this->ctorArgs)) throw new \Excpeption("\"ctorArgs\" must be of type array");
$stm->setFetchMode(PDO::FETCH_CLASS, get_called_class(), $this->ctorArgs);
I na koniec dodaj właściwość $ctorArgs do \App\Models\Admin\Photo
z domyślną wartością array("picture")
.
To powie kodowi, że twój konstruktor oczekuje parametru $picture .
Pomyślałbym o użyciu stałej zamiast właściwości, ale to zależy od tego, jak zdecydujesz się to zaimplementować.