我收到此错误:尝试获取非对象的属性[来自模型] 当我尝试通过输入一个字符串来检索数据库中的id,在这种情况下,该字符串是“某事物”
这是我的模特
function getRoleId($role_name='')
{
$conditions = array('role_name'=> $role_name);
$this->db->where($conditions);
$this->db->select('id');
$query = $this->db->get('roles');
$row = $query->row();
return $row->id;
}
控制器($ radioRole这里是=某些东西)但是当它到达模型时它变成了别的东西。
$radioRole = 'something';
$insertData['role_id'] = $this->user_model->getRoleId($radioRole);
更新
print_r($radioRole);
$insertData['role_id'] = $this->user_model->getRoleId($radioRole);
显示$ radioRole,在这种情况下是'某事'
但是当它到达user_model并且当我执行print_r时它会显示其他内容,'买方',它甚至不会在控制器上显示print_r。感觉它被写了:O但我不知道:O
的print_r($查询)
CI_DB_mysql_result Object ( [conn_id] => Resource id #37 [result_id] => Resource id #64 [result_array] => Array ( ) [result_object] => Array ( ) [current_row] => 0 [num_rows] => 0 [row_data] => )
答案 0 :(得分:0)
您的 where
错误:
$conditions = array('role_name'=> $role_name);
$this->db->where($conditions);
应该是
$conditions = array('role_name', $role_name);
$this->db->where($conditions);
击> 编辑:
如评论中所述,如果条件直接在where
内,则必须使用逗号:
$this->db->where('role_name',$role_name);