sql >> Database >  >> RDS >> Mysql

Algemene fout:kon klassenconstructor niet aanroepen'

Zoals vermeld in de documentatie:

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.

hetzelfde argument is beschikbaar voor setFetchMode

public bool PDOStatement::setFetchMode ( int $PDO::FETCH_CLASS , string $classname , array $ctorargs )

Ik zou dit dienovereenkomstig implementeren:

Voeg eerst een eigenschap toe $ctorArgs naar \Core\Model met een standaardwaarde van null .Gevolgd door het vervangen van de huidige setFetchMode oproepen

if (!is_array($this->ctorArgs)) throw new \Excpeption("\"ctorArgs\" must be of type array");
$stm->setFetchMode(PDO::FETCH_CLASS, get_called_class(), $this->ctorArgs);

En voeg tot slot een eigenschap toe $ctorArgs naar \App\Models\Admin\Photo met een standaardwaarde van array("picture") .

Dit vertelt de code dat uw constructor de parameter $picture . verwacht .

Ik zou overwegen om een ​​constante te gebruiken in plaats van een eigenschap, maar dat hangt af van hoe je besluit dit te implementeren.




  1. Is er iets analoog aan een split()-methode in mySql?

  2. Bereken deciel van recentheid in MySQL

  3. Hoe zorg ik ervoor dat Java &Postgres-enums samenwerken voor update?

  4. Hoe reissites de kamer afsluiten?