Похоже, это очень распространенная проблема для новичков с CodeIgniter, но ни одно из решений, которые я нашел до сих пор, не имеет отношения к моей проблеме. Как говорится в теме, я пытаюсь включить собственный класс в CodeIgniter.
Я пытаюсь создать несколько объектов указанного ниже класса и поместить их в массив, поэтому мне нужно, чтобы класс был доступен для модели.
Я пробовал использовать функции load (library-> load ('myclass') в CodeIgniter, которые вроде работают, за исключением того, что сначала пытается создать объект класса вне модели. Это, очевидно, проблема, поскольку конструктор ожидает несколько параметров.
Я нашел до сих пор следующие решения:
Класс, который я хочу включить, User.php
ID = $ID;
$this->username = $username;
$this->access_lvl = $access_lvl;
$this->staff_type = $staff_type;
$this->name = $name;
}
public function __toString()
{
return $this->username;
}
}
?>
Метод (модель), для которого требуется User.php
function get_all_users()
{
$query = $this->db->get('tt_login');
$arr = array();
foreach ($query->result_array() as $row)
{
$arr[] = new User
(
$row['login_ID'],
$row['login_user'],
$row['login_super'],
$row['crew_type'],
$row['login_name']
);
}
return $arr;
}
И, наконец, контроллер,
function index()
{
$this->load->library('user');
$this->load->model('admin/usersmodel', '', true);
// Page title
$data['title'] = "Some title";
// Heading
$data['heading'] = "Some heading";
// Data (users)
$data['users'] = $this->usersmodel->get_all_users();