にアクセスすることはできません。PHPオブジェクトは、次を使用して変数
$last_book = tz_books::getLast($request->db, "WHERE book_id='{$request->book_id}'");
私は、次のPHPオブジェクト配列、
[0] => tz_books Object
(
[db:tz_books:private] => com Object
[id] => 64BEC207-CA35-4BD2
[author_id] => 4F4755B4-0CE8-4251
[book_id] => 8FC22AA0-4A60-4BFC
[date_due] => variant Object
)
を取得し、私はその後、AUTHOR_IDを使用したいのですが、何らかの理由でそれが働いていません。
使用しようとすると:
$tz_books->author_id;
をしますprint_r($ last_book)を使用します。配列をコンソールに表示します。そして、こう正しい変数が使用されている場合だけで参照するには、以下:
$author = $tz_books->author_id;
print_r($author);
何もコンソールに出力されていない、とさえPHPマニュアルを掘りと選択肢の多くを試した後、私は、ように見えることはできませんその変数をつかむ。私はルーキーミスをして、何か愚かなものを見落としていることを望んでいる。何か助けてくれてありがとう!
編集:クラス定義
private $db;
public $id;
public $author_id;
public $book_id;
public $date_due;
public function __construct($db, $values=null) {
$this->db = $db;
if ($values != null) {
foreach ($values as $var => $value) {
$this->$var = $value;
}
}
}
public static function retrieveAll($db, $where='', $order_by='') {
$result_list = array();
$query = 'SELECT '.
'id, '.
'author_id, '.
'book_id, '.
'date_due '.
"FROM tz_books $where $order_by";
$rs = $db->Execute($query);
while (!$rs->EOF) {
$result_list[] = new tz_books($db, array(
'id' => clean_id($rs->Fields['id']->Value),
'author_id' => clean_id($rs->Fields['author_id']->Value),
'book_id' => clean_id($rs->Fields['book_id']->Value),
'date_due' => $rs->Fields['date_due']->Value,
));
$rs->MoveNext();
}
$rs->Close();
return $result_list;
}
この権利がありますか?もしそうなら、 '$ last_book [0] - > author_id;'または '$ tz_books = $ last_book [0];' – ghbarratt
を試してみてください。変数 '$ last_book'や' $ tz_books'はありますか? '$ last_book'はオブジェクトではなく*配列*なので、私があなたの例を理解しているならば。 – deceze
クラス定義はありますか? author_idがプライベートプロパティである可能性があります。また、ゲッターメソッドがあるかもしれません。そうでなければ、あなたは1つを作ることができます。あなたのクラス定義を投稿すると、私はあなたを手伝ってくれます。 –