Я уже проверил предыдущие топи c в Stackoverflow, но не нашел правильного ответа для своей проблемы.
Я создаю галерею изображений, поэтому у меня есть таблица в моей базе данных для каждого загруженного image.
image_id | filename
Изображения могут быть предоставлены несколькими авторами / фотографами, поэтому у меня есть вторая таблица с author_id для каждого изображения
credit_id | image_id | author_id
Имя автора в другой таблице, для оптимизации структуры таблицы.
author_id | author_name
Я могу легко получить автора для каждой фотографии в галерее, используя активную запись CI
$this->db->select("
$this->table_images.image_id,
$this->table_images.filename,
$this->table_credit.credit_id,
$this->table_authors.author_name
");
$this->db->from($this->table_images);
$this->db->join($this->table_credit, "$this->table_credit.image_id = $this->table_image.image_id",'left');
$this->db->join($this->table_authors, "$this->table_authors.author_id = $this->table_credit.author_id",'left');
$query = $this->db->get();
if ($query->num_rows() > 0)
{
return $query->row();
}
else
{
return FALSE;
}
Теперь проблема: каждый кредит связан не только с его вкладчик, так как изображение может быть предоставлено через другой вкладчик ... поэтому каждое изображение имеет кредит, который должен быть: авторское право x через y Список вкладчиков - это список имен авторов ... поэтому я должен использовать таблицу авторов дважды, чтобы получить имя автора и лицо, предоставившее изображение.
Итак, я создал другую таблицу со следующими данными:
credit_id | contributer_id
I Я пытаюсь выяснить выборочный запрос, чтобы получить имя автора и имя участника из той же таблицы авторов в приведенном выше запросе.
Большое спасибо за любую помощь и подсказку