【发布时间】:2020-12-18 08:25:18
【问题描述】:
我有一些通过模型来自数据库的数据
public static function loadPermissions($user_role)
{
$db = \Config\Database::connect();
$builder = $db->table('role_has_perm');
$builder->select('*');
$builder->join('perms', 'perms.id_perm = role_has_perm.id_perm', 'left');
$builder->join('roles', 'roles.id_role = role_has_perm.id_role');
$builder->where('role_has_perm.id_role', $user_role);
$query = $builder->get();
return $query->getResultObject();
}
现在,如果我使用 foreach 循环遍历它,我可以吐出数据。
foreach ($query as $row) {
echo "id_role = " . $row->id_role . " " . "id_perm = " . $row->id_perm . " " . "role_name = " . $row->role_name;
$role = $row->role_name;
}
但是我并不总是想遍历整个对象。我想访问特定的属性。 例如,我只想访问 role_name。
$role = $query->role_name;
我收到此错误:尝试获取非对象的属性“role_name”
我是不是处理错了对象?
欢迎任何意见:)
亚历克斯
【问题讨论】:
-
在我看来
$query将是一个对象数组,访问role_name作为一个整体查询并没有什么意义,期望它返回什么?您可以通过$query[0]->role_name获得第一行的role_name
标签: php codeigniter object