Как правило, вы вызываете функцию модели что-то вроде getCompanyDetailsByID()
, где вы передаете уникальный идентификатор, и она возвращает один объект результата соответственно:
<?php
function getCompanyDetailsByID($id)
{
$this->db->select('coreCompanyName, coreContactName, coreContactEmail');
$this->db->where('coreCompanyID', $id);
return $this->db->get('core')->first_row();
}
Замените "coreCompanyID" на имя основного столбца.
Сложение:
Вот как вы получите всю информацию о компаниях:
<?php
function getCompanyDetails()
{
$this->db->select('coreCompanyName, coreContactName, coreContactEmail');
return $this->db->get('core')->result();
}
// And then in your controller:
function display()
{
$this->load->model('core');
$companies = $this->core->getCompanyDetails();
// Here's where you would probably load the data into a view
foreach ($companies as $company)
{
echo $company->coreCompanyName.'<br />';
}
}
ЗАКЛЮЧИТЕЛЬНЫЙ ОТВЕТ! : P
<?php
function companyDetails()
{
static $details;
if ( !$details)
{
$this->db->select('coreCompanyName, coreContactName, coreContactEmail');
$this->db->where('coreCompanyID', $id);
$details = $this->db->get('core')->first_row();
}
return $details;
}
Теперь вы можете сделать несколько вызовов этой функции, и она попадет в вашу базу данных только один раз, например:
<?php
echo $this->core_model->companyDetails()->coreCompanyName;
// do stuff
echo $this->core_model->companyDetails()->coreContactName;
// more stuff
echo $this->core_model->companyDetails()->coreContactEmail;
Все это попало в вашу базу данных только один раз.