Сценарий построителя запросов CodeIgniter. ПРИСОЕДИНЕНИЕ таблиц по отношению «один ко многим» приводит к созданию повторPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Сценарий построителя запросов CodeIgniter. ПРИСОЕДИНЕНИЕ таблиц по отношению «один ко многим» приводит к созданию повтор

Сообщение Anonymous »

У меня возникли проблемы при попытке отобразить сообщение в режиме просмотра блога.

Таблица:


категория блога blog_category
| ------- | | -------- | | ------------- |
| идентификатор блога | | кот_ид | | cat_id |
| титул | | имя_кошки | | blog_id |
| контент | | cat_slug |

в контроллерах моего блога:

Код: Выделить всё

defined('BASEPATH') OR exit('No direct script access allowed');

class Blog extends CI_Controller
{
/*
* Blog Controller
*/

public function __construct()
{
parent::__construct();
$this->load->model('blog_model');
}

public function index()
{
$this->data = array(
'title' => 'Blog',
'blog' => $this->blog_model->get_all_post(),
);

$this->load->view('main/blog', $this->data);
}
}
и в модели моего блога:

Код: Выделить всё

function get_all_post() {
$this->db->select('*');
$this->db->from('blog');
$this->db->join('blog_category', 'blog_category.blog_id=blog.blog_id', 'left');
$this->db->join('category', 'blog_category.cat_id=category.cat_id');
$query = $this->db->get();
$select = array();
foreach($query->result() as $row) {
$select[] = $row;
}
if (count($select) > 0)
return $select;
return NULL;
}
и в моем блоге:

Код: Выделить всё

[url=#][/url]


и когда я пытаюсь получить доступ к представлению, оно показывает 2 сообщения с одной и той же записью, но с разными категориями. В моем сообщении в блоге есть 2 категории и они отображаются одна за другой. Если в моем сообщении есть 3 категории, в результате будут показаны 3 сообщения с 3 категориями, которые будут показаны одна за другой.

Подробнее здесь: https://stackoverflow.com/questions/341 ... lationship
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»