sql >> データベース >  >> RDS >> Mysql

PHP-準備されたstmtをクラスにフェッチしています:致命的なエラークラスが見つかりません

    Categoryの場合 クラスは名前空間にあるため、完全修飾クラス名をfetchAllに渡す必要があります 。

    現在、PDOはクラスCategoryにフェッチしようとしています。 ルート名前空間で。存在しません。名前空間についてPDOに通知する必要があります:

    $stm->fetchAll(\PDO::FETCH_CLASS, 'Vendor\\Package\\Category');
    

    または、__NAMESPACE__を使用します それが簡単になる(そして正しい)場合は一定:

    $stm->fetchAll(\PDO::FETCH_CLASS, __NAMESPACE__ . '\\Category');
    

    または、さらに良いことに、PHP5.5+の::classを使用します 完全修飾クラス名を取得するための定数。

    use Acme\Package\Category;
    $stm->fetchAll(\PDO::FETCH_CLASS, Category::class);
    



    1. PSQLException:ResultSetが適切に配置されていません。おそらく、次に呼び出す必要があります

    2. Ubuntu16.04にMySQLWorkbenchをインストールして構成する

    3. プロパティマネージャーがデータベースを使用して効率を向上させる方法

    4. PHP:はい/いいえの確認ダイアログを表示する