我需要在netbeans中使用codeigniter数据库mysql对象进行自动完成。 我已经为标准类启用了自动完成功能,但是如果我得到mysql结果则没有任何内容(因为通过http://php.net/manual/en/function.mysql-fetch-object.php动态创建了对象 我的解决方法是声明一个只包含字段的model_raw类。
/**
*
* @param int $id
* @return Account_model_raw
*/
public function get_Account($id) {
if (is_int($id) === FALSE)
return null;
$query = $this->db->get_where($this->table, array('id' => $id), 1);
if ($query->num_rows() <= 0)
return null;
$ret = $query->row();
return $ret;
}
class Account_model_raw{
var $id;
var $login;
var $password;
var $lastlogin;
}
现在,如果我使用get_Account方法,我可以在netbeans中获得自动完成功能。
我的问题是,如果有一个更好的方法并保持类与mysql同步。如果表格改变怎么办?我不想手动编辑数据库和原始类文件。
也许这些原始文件可以使用脚本自动创建?
答案 0 :(得分:0)
您可以使用MY_Model或ORM库。
https://github.com/jamierumbelow/codeigniter-base-model
因此,如果您使用的是X和Y对象,则不需要在模型中显式声明,您可以使用X表声明模型的方式使用这些库,然后可以调用ORM提供的函数来访问数据库中的字段值。
PS:不要依赖自动完成这些类型的功能,虽然您不会从NetBeans中看到数据库中的内容,但您至少可以依赖库来了解您为其提供的x,y对象的放置位置。