サイトに関する詳細を引き出すオブジェクトがあります。基本的に名前アドレスなどです。引き戻すフィールドの 1 つは IDCounty です。下記参照。次に、これを別のオブジェクトの新しいインスタンスにフィードすると、郡名が自動的に表示されます。これが私が持っているものです
だから私のシステムオブジェクト
class System{
private $db;
public $Ad1;
public $Ad2;
public $County;
public $IDSystem;
//connect to database
public function __construct($IDSystem ='1') {
$this->db = new Database();
$this->IDSystem = $IDSystem;
}
//get address
public function ContactInfo() {
$Query = sprintf("SELECT BSAd1, BSAd2, IDCounty FROM BusinessSettings WHERE IDBusinessSettings = %s",
GetSQLValueString($this->IDSystem, "int"));
$Query = $this->db->query($Query);
$Result = $this->db->fetch_assoc($Query);
$this->Ad1 = $Result['BSAd1'];
$this->Ad2 = $Result['BSAd2'];
$County = new County($Result['IDCounty']);
$this->County = $County;
}
//end address
}
ご覧のとおり、このオブジェクトは別の郡を呼び出し、$County を $this->County に設定しています。そのための私の詳細は以下のとおりです
class County {
public $IDCounty;
private $db;
public function __construct($IDCounty) {
$this->db = new Database();
$this->IDCounty = $IDCounty;
$Query = sprintf("SELECT CountyName FROM County WHERE IDCounty = %s", GetSQLValueString($this->IDCounty, "int"));
$Query = $this->db->query($Query);
$County = $this->db->fetch_assoc($Query);
return $County['CountyName'];
}
}
オブジェクトを呼び出すときは、次のように呼び出します
$SiteDetails = new System();
$SiteDetails->ContactInfo();
echo $SiteDetails->Ad1;
echo $SiteDetails->County;
echo $SiteDetails->County; のエラー レポートからエラーが発生しました。「キャッチ可能な致命的なエラー: クラス County のオブジェクトを文字列に変換できませんでした」
このエラーをグーグルで調べた後、System クラスが County クラスから郡名を取得して $this->County に変換する際に問題が発生していることがわかります
残念ながら、私はそれを修正する方法がわかりません。インスタンス化時に関数から値を返すことができると思っていましたが、間違っているようです。助けてください。みんなありがとう。