parse.com php sdkを使用しています。PHP Parse.comは、別のテーブルへのポインタを持つカラムからデータを取得します。
複数の列を持つProductというテーブルの列にあるポインタからデータを取得する際に問題が発生しています。 (都市、ラベル、国、ブランド....)
'ブランド'は、 'ブランド'テーブルのデータへのポインタを保持する列です。
私のPHPコードでは、ParseObjectを拡張する「ブランド」というクラスを設定しました。
class Brand extends ParseObject {
public static $parseClassName = 'Brands';
function __construct(){
parent::__construct($parseClassName);
}
public function getIdBrand(){
return $this->getObjectId();
}
public function getName(){
return $this->get('name');
}
public function setName($name){
return $this->set('name',$name);
}
public function getDescription(){
return $this->get('description');
}
public function setDescription($description){
return $this->set('description',$description);
}
public function save(){
if(!getName() && !getDescription()){
echo 'Brand can\'t be saved';
}else{
parent::save();
}
}
function showBrand() {
echo 'Brand[' . getIdBrand() . ', ' . getName() . ', ' . getDescription() . ']';
}
}
私のクラスの製品はのparseObjectを拡張します。
次に、すべての製品を取得しているユーザーを指定するPHPファイルがあります。
$currentUser = ParseUser::getCurrentUser();
$query = new ParseQuery(Product::$parseClassName);
$query->equalTo("user", $currentUser);
$results = $query->find();
次に、各製品のデータを取得します。
for ($i = 0; $i < count($results); $i++) {
$product = $results[$i];
$brand = $results[$i]->get('brand');
echo 'brand name = '.$brand->getName().',';
.........}
私の問題は私がブランド名を得ることができないということです。 それは私に空の値を送るだけです。
==>var_dump($results[$i]->get('brand'));
をやったとき、私は次のような結果が
object(Brand)#6 (9) { ["serverData":protected]=> array(0) { }
["operationSet":protected]=> array(0) { }
["estimatedData":"Parse\ParseObject":private]=> array(0) { }
["dataAvailability":"Parse\ParseObject":private]=> array(0) { }
["className":"Parse\ParseObject":private]=> string(6) "Brands"
["objectId":"Parse\ParseObject":private]=> NULL
["createdAt":"Parse\ParseObject":private]=> NULL
["updatedAt":"Parse\ParseObject":private]=> NULL
["hasBeenFetched":"Parse\ParseObject":private]=> bool(true) }
あなたがオブジェクト(ブランド)のデータを取得する方法で私に助言することができます取得します。