从数组中的控制器中获取db值

时间:2015-11-21 13:57:15

标签: php codeigniter

我正试图从控制器中的数据库中获取一个值,如下所示:

//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 ) )

我是在尝试将数组放入数组中吗?如何访问这些值?

1 个答案:

答案 0 :(得分:1)

那是因为你要返回一个完整的结果集(这是一个对象数组) 虽然你真正想要的是单个对象,因为'id'应该是主键。

findfilebyid中,它应该是:

public function findfilebyid ($id) {
       $q = $this->db->where('id', $id)->get('files');
       return $q->row();
}