Я не уверен, к чему именно вы стремитесь. Для записи форма $ user-> role будет
array(
rid => 'role_name',
...
)
Используя приведенное выше утверждение, вы на самом деле получаете не позднюю роль пользователя, а роль пользователя с наибольшим идентификатором.
Полагаю, вы хотите получить подобный формат, но вы не можете этого понять.
array(
0 => array(rid => 'role_name'),
1 => array(rid => 'role_name'),
...
)
если это так, вы можете получить его с помощью простого цикла foreach:
$result = array();
foreach ($user->roles as $key => $value) {
$result[] = array($key => $value);
}
return $result;