Как правило, вы могли бы назвать вашу модель функция что-то вроде 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;
Все, что только хит базы данных один раз.
Но тогда я должен был передать идентификатор в модель? –
Как еще вы знаете, какой результат вы хотите? Если вы хотите получить все компании, это совсем другая история, и мне нужно будет изменить ответ. – landons
, но в этом db будет только одна компания, поэтому я просто хотел извлечь данные –