首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CodeIgniter任务调度器将功能交给任务调度器

CodeIgniter任务调度器将功能交给任务调度器
EN

Stack Overflow用户
提问于 2016-09-17 16:44:09
回答 1查看 3.3K关注 0票数 0

我是CRON作业的新手,所以我正在练习它;对于初学者,我正在使用CodeIgniter和PHP添加一个用户,这是我的模型:

代码语言:javascript
复制
    <?php 
    class Cron_Model extends CI_Model{

    public function adduser($firstname,$lastname){
    $data = array(
        'firstname' => $firstname,
        'lastname' => $lastname
        );
    $query = $this->db->insert('user_account',$data);
    return $query;
       }

    }

和:这是我的控制器:

代码语言:javascript
复制
    <?php
    class Cron_Controller extends CI_Controller{

    public function __construct(){
    parent::__construct();

    $this->load->database();
    $this->load->model('Cron_Model');

    // this controller can only be called from the command line
    if (!$this->input->is_cli_request()) show_error('Direct access is not allowed');

}

public function AddAUser(){
    $fname = "JUNCEL";
    $lname = "CARREON";

    $this->Cron_Model->adduser($fname,$lname);
}

}

  ?>

我将把这个添加到数据库中,尽管名字和姓氏是一样的,但这只是一个试验工作。

因此,现在我尝试向任务调度程序调用函数AddAUser(),

我试过这个东西:在任务调度器上浏览

代码语言:javascript
复制
  C:\xampp\htdocs\post\application\controllers\cron_controller.php

然后在Add arguments(可选):我将AddAUser放入,所以基本上是这样的:

代码语言:javascript
复制
 C:\xampp\htdocs\post\application\controllers\cron_controller.php AddAUser

然后我试着运行它,但我没有在数据库中看到任何东西!这是怎么回事?

EN

回答 1

Stack Overflow用户

发布于 2016-09-17 16:53:11

按如下代码更改您的模型:

代码语言:javascript
复制
<?php 
class cronjob extends CI_Model{

public function __construct()
{
    //load and config db
    $this->load->database();
    parent::__construct();
}
public function adduser($firstname,$lastname){
$data = array(
    'firstname' => $firstname,
    'lastname' => $lastname
    );
$query = $this->db->insert('user_account',$data);
return $query;
   }

}

将控制器更改为:

代码语言:javascript
复制
  <?php
    //Change It to `class Cron extends...` maybe your Prefixes have conflict
    class Cron_Controller extends CI_Controller{

    public function __construct(){
    parent::__construct();


    // this controller can only be called from the command line
    if (!$this->input->is_cli_request()) show_error('Direct access is not allowed');

}

public function AddAUser(){
    //Database Load is accable just in a Model Class
    $this->load->model('cronjob');
    $fname = "JUNCEL";
    $lname = "CARREON";

    $this->cronjob->adduser($fname,$lname);
}

}

数据库加载器的位置错误,前缀可能有冲突。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39544754

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档