我正试图从控制器中的数据库中获取一个值,如下所示:
//Load model
$this->load->model('files/files_model');
//Lookup file
$file = $this->files_model->findfilebyid('1');
echo "Filepath: " . $file->filepath . "<br>";
echo "Filename: " . $file->filename . "<br>";
但是当我这样做时,我得到了“试图获取非对象的属性”错误。我还尝试了$ file-&gt; ['filepath']和$ file [0] - &gt; filepath,但这不起作用。
使用'print_r(array_values($ file))打印数组'给出:
Array ( [0] => stdClass Object ( [fileid] => 1 [filenamefriendly] => Kiosk manual [filename] => kiosks [filenamepath] => filestorage [fileownerid] => 4 [filepermissiontype] => global [filepermissioncompanyid] => 0 [filecategoryid] => 1 [filecreatedate] => 2015-11-20 00:00:00 [filedescription] => This is the manual of the kiosks [filetype] => pdf ) )
我是在尝试将数组放入数组中吗?如何访问这些值?
答案 0 :(得分:1)
那是因为你要返回一个完整的结果集(这是一个对象数组) 虽然你真正想要的是单个对象,因为'id'应该是主键。
在findfilebyid
中,它应该是:
public function findfilebyid ($id) {
$q = $this->db->where('id', $id)->get('files');
return $q->row();
}