我在CodeIgniter中做了一个Cron工作,我需要访问我的模型才能执行它的任务。这是我的控制器代码。
Quit
如果我使用此命令使用CLI调用send_mail函数:
<?php
/**
*
*/
class Cron extends CI_Controller
{
function __construct() {
if ( PHP_SAPI !== 'cli' ) exit('No web access allowed');
}
public function send_mail() {
$this->load->model("mail_model");
foreach ($this->mail_model->cron_job() as $mail) {
echo $mail->id;
}
}
}
它返回此错误:
php /home/path/to/project/index.php cron send_mail
如果我Message: Undefined property: Cron::$load
PHP Fatal error: Call to a member function model() on null in /home/path/to/project/application/controllers/cron.php on line 12
它返回一个空对象,那么我感到困惑,因为它正在扩展var_dump($this)
。
有什么想法吗?
答案 0 :(得分:0)
错误说,$this->load
为空,而不是$this
。
检查$this->load
初始化的方式。
编辑构造函数:
function __construct() {
if ( PHP_SAPI !== 'cli' ) exit('No web access allowed');
parent::__construct();
}