CodeIgniter で「非オブジェクトのプロパティを取得しようとしています」エラーが発生するのはなぜですか?

Susan Sarandon
リリース: 2024-10-24 18:40:47
オリジナル
618 人が閲覧しました

Why Am I Getting the

CodeIgniter の「非オブジェクトのプロパティを取得しようとしています」エラーについて理解する

CodeIgniter を使用してデータベース レコードを更新しようとすると、 「非オブジェクトのプロパティを取得しようとしています」エラーが発生する場合があります。この問題は、クラスのインスタンスではないオブジェクトのプロパティにアクセスしようとすると発生します。

edit_product_view のコンテキストで、$product オブジェクトを使用してフォームにデータを入力しようとしています。$product オブジェクトは、以下に基づいて取得されます。選択した製品 ID に応じて。ただし、オブジェクト表記 ($product->prodname) を使用してそのプロパティにアクセスしています。

問題の解決: オブジェクト表記と配列表記

CodeIgniter は取得したデータを保存しますオブジェクトではなく配列として。したがって、フォーム フィールドの値が含まれる $product 配列の個々の要素にアクセスするには、配列表記を使用する必要があります。

次の行を

<code class="php"><?php echo form_input('prodname', set_value('prodname', $product->prodname)); ?>
<?php echo form_dropdown('ptname_fk', $product_types, set_value('ptname_fk', $product->ptname_fk)); ?></code>
ログイン後にコピー

で置き換えます。

<code class="php"><?php echo form_input('prodname', set_value('prodname', $product['prodname'])); ?>
<?php echo form_dropdown('ptname_fk', $product_types, set_value('ptname_fk', $product['ptname_fk'])); ?></code>
ログイン後にコピー

追加のヒント

  • $product 配列に正しいキーと値のペアが含まれていることを確認してください。
  • それでもエラーが発生する場合$product 変数がビューに適切に渡されていることを確認してください。
  • print_r を使用して $product 配列の内容を検査し、予想されるデータが含まれていることを確認することを検討してください。

以上がCodeIgniter で「非オブジェクトのプロパティを取得しようとしています」エラーが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!