Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Kesalahan umum:tidak dapat memanggil konstruktor kelas'

Seperti yang disebutkan dalam dokumentasi:

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.

argumen yang sama tersedia untuk setFetchMode

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

Saya akan menerapkan ini sesuai:

Pertama tambahkan properti $ctorArgs ke \Core\Model dengan nilai default null .Diikuti dengan mengganti setFetchMode saat ini panggilan

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

Dan terakhir tambahkan properti $ctorArgs ke \App\Models\Admin\Photo dengan nilai default array("picture") .

Ini akan memberi tahu kode bahwa konstruktor Anda mengharapkan parameter $picture .

Saya akan berpikir untuk menggunakan konstanta daripada properti, tetapi itu tergantung pada bagaimana Anda memutuskan untuk mengimplementasikannya.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SUBDATE() Contoh – MySQL

  2. Apakah pernyataan yang disiapkan di-cache di sisi server di beberapa halaman dimuat dengan PHP?

  3. Kehilangan koneksi ke server MySQL saat mencoba terhubung ke server MySQL jarak jauh

  4. MySQL:pilih interval 5 menit penuh terakhir

  5. Mysql menghasilkan PHP - array atau objek?