我有一个对象,它回退有关该网站的详细信息。基本上是名称地址等。其中一个字段是IDCounty。见下文。然后,我想将其馈送到另一个对象的新实例中,并自动为我提供县名。这里是我有PHP对象如何从另一个对象调用对象
所以我的系统对象
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
}
正如你可以看到这个对象调用另一个县及县$设置被$ this->县。我的详细信息为低于
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;
即时得到从错误回声报告一个错误的对象$ SiteDetails->县;其中说 “可捕捉的致命错误:类县的对象无法转换为字符串”
谷歌搜索后此错误我看到系统类遇到麻烦转换从郡县类获取县名并将其转换为$ this - >县
不幸的是我不知道如何解决它。我想我可以在实例化时从函数返回值,但似乎我错了。请帮忙。多谢你们。
'Country'是'Object'而不是'string',请看'__toString()'魔术方法。在'Country'对象中实现它。 –