CRUD - 使用“call_user_func_array”创建新的(php-activerecord)记录?

时间:2012-04-10 21:21:16

标签: php codeigniter crud phpactiverecord

我今晚没有环境设置来测试这个问题,但这个问题一直困扰着我,所以道歉。

我在我的codeigniter框架中使用phpactiverecord以及我尝试过的CRUD库。我对函数“call_user_func_array”没有很多经验 - 对我很遗憾。所以我想我的问题是......我的预期结果是否与此函数的实际结果相同

public static function create_record($obj, $attr){
     $ORM = new $obj;
     return (bool) call_user_func_array(array($ORM, "create"), $attr);
     //self::create_record('Object', array);
     //Expected:  (bool)Object::create($attr);
  }

1 个答案:

答案 0 :(得分:1)

如果:

CRUD::create_record('User', $this->input->post());

就像:

User::create($this->input->post());

然后只需执行以下操作,这更简单:

$obj = 'User';
$obj::create($this->input->post());

如果您使用名称空间,它也可以工作。

$obj = 'app\models\User';
$obj::create($this->input->post());