Задать вопрос

Вывод фото из бд, фотогалерея, не могу вывести, как вывести?

Всем привет.
Думаю без разницы какой фраемворк использую, а вообще ko7, kohana.

Сделал фотогалерею, фото добавляются, в бд все есть, но не могу вывести на фронт в фотогалерея.
Знания не большие, еще учусь, делал по примеру других контроллеров, где есть вывод фото.

Структура бд, таблица фотогалереи fotogalerejas.
Поля:
id - айди фотогалереи
images_id - айди фотки

Структура таблицы images, тут хранится название фото, плюс позиции.
Поля:
id - айди фотки
image - сюда записывается название картинку
pos - это позиция фоток
fotogalereja_id - айди фотогалереи

Скрин таблицы fotogalerejas
6030f71603604691938538.png

Скрин таблицы images(ненужное скрыл)
6030f7a247419010762350.png

Контроллер фотогалерея
$id = (int)$this->request->param('id', '=', '1');

    $fotogalerejas = ORM::factory('Fotogalereja')->find_all();

    $images = ORM::factory('Image')
    ->where('fotogalereja_id', '=', $id)
    ->find_all();

      $content = View::factory('index/main/fotogalereja')
      ->set('fotogalerejas', $fotogalerejas)
      ->set('images', $images);


Вывод в шаблоне
<? foreach ($fotogalerejas as $fotogalerejas) : ?>
  <?php echo $fotogalerejas->images->image ?>
  <?php echo $fotogalerejas->image_id ?>
  <? endforeach ?>


Вывожу id фотки ( <?php echo $fotogalerejas->image_id ?>), это для примера, чтоб понять что все ок, айди выводит.
Пытаюсь вывести картинку <?php echo $fotogalerejas->images->image ?> пока ничего.

В модельке fotogalereja у меня вот что
class Model_Fotogalereja extends ORM
{
  protected $_table_name = 'fotogalerejas';
  protected $_primary_key = 'id';
  protected $_db_group = 'default';

  protected $_has_many = array(
    'images' => array(
      'model'       => 'Image',
      'foreign_key' => 'fotogalereja_id',
    ),
  );
  protected $_belongs_to = array(
    'main_img' => array(
      'model'       => 'Image',
      'foreign_key' => 'image_id',
    ),
  );
}


Как я понимаю вот эту часть кода.
1)    $images = ORM::factory('Image')
2)    ->where('fotogalereja_id', '=', $id)
3)    ->find_all();


1) подгружаем таблицу из бд images/
2) находим в images таблице поле fotogalereja_id с id 1, это айди фотогалереия
3) выводим все что нашли.
  • Вопрос задан
  • 57 просмотров
Подписаться 1 Средний Комментировать
Пригласить эксперта
Ответы на вопрос 1
ws17
@ws17 Автор вопроса
Так починил сам:

В контроллер добавил
$images = ORM::factory('Image')
    ->order_by('pos', 'ASC')
    ->where('fotogalereja_id', '=', $fotogalerejas->id)
      ->find_all();


И передаю в шаблон
$content = View::factory('index/main/fotogalereja')
      ->set('fotogalerejas', $fotogalerejas)
      ->set('images_all', $images);


В шаблоне вывод
<?php foreach ($images_all as $image) : ?>
<?php echo $image->image ?>
<?php endforeach ?>
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы