2

我需要使用 codeigniter 数据库 mysql 对象在 netbeans 中自动完成。我已经为标准类启用了自动完成功能,但是如果我得到 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 同步。如果表发生变化怎么办?我不想手动编辑数据库和原始类文件。

也许这些原始文件可以用脚本自动创建?

4

1 回答 1

0

您可以使用 MY_Model 或 ORM 库。

https://github.com/jamierumbelow/codeigniter-base-model

http://redbeanphp.com/

因此,如果您使用 X 和 Y 对象,则无需在模型中显式声明,您可以使用这些库以使用 X 表声明模型的方式使用这些库,然后您可以调用 ORM 提供的函数来访问其中的字段值你的数据库。

PS:不要依赖自动完成来实现这些类型的功能,尽管您不会从 NetBeans 中看到数据库中的内容,但您至少可以依靠库来知道在哪里放置您为其提供的 x,y 对象。

于 2013-01-31T17:18:05.443 回答