2015-05-02 57 views
1

這應該是一個簡單的任務,但我找不到解決方案。我使用Parse,並且我定義了一些用戶和一些角色。每個用戶都被一個角色引用,所以當我進入角色列表時,我會看到分配給每個角色的用戶。問題是:如何使用PHP SDK獲得具有特定角色的所有用戶?使用Parse的PHP SDK按角色獲取所有用戶

我嘗試這樣做:

$query = new ParseQuery("_Role"); 
$query->equalTo('name', 'admin'); 
$adminRole = $query->first(); 
$users = $adminRole->getUsers(); 

其實,$users將包含ParseRelation對象(角色和用戶之間的關係),但我不能在結果中查找分配給管理員角色的用戶列表。

我該如何做到這一點?

回答

1

Sergui,這是你的代碼:

$query = new ParseQuery("_Role"); 
$query->equalTo('name', 'admin'); 
$adminRole = $query->find(); 
$users = $adminRole->getUsers();` 

下面是可能會解決您的問題編輯:

$query = new ParseQuery("_Role"); 
$query->equalTo('name', 'admin'); 
$adminRole = $query->find(); 
for ($i = 0; $i < count($adminRole); $i++) { 
    $adminObject = $adminRole[$i]; 
    $users = $adminObject->get('users'); 
    // Here you do the actual fetching of the data 
    $users->fetch 
    //Then do whatever you want with the data 
    //e.g 
    $username = $users->get("username"); 
    //$username being some random global variable. 
    } 

解析其文檔中指出(在'對象的窗格朝向關係數據部分的末尾):

默認情況下,在獲取對象時,不會獲取相關的ParseObjects。這些對象的值在獲取之前不能被檢索。

因此使用$users->fetch的。 我希望這可以幫助,即使這篇文章現在是3個月左右。

相關問題