Я правильно читаю? если $ tabPhotos НЕ является массивом ИЛИ это так, и он оказывается ПУСТОЙ, тогда верните ноль и продолжите выполнение цикла foreach с загадочным endif после?
<?php if (!is_array($tabPhotos) || empty($tabPhotos)) :?>
<?php return null; ?>
<?php foreach ($tabPhotos as $item) : ?>
<?php echo "Model: " . $item->url; ?>
<?php endforeach; ?>
<?php endif; ?>
Разве это не должно читаться так:
<?php if (is_array($tabPhotos) && !empty($tabPhotos)) :?>
<?php foreach ($tabPhotos as $item) : ?>
<?php echo "Model: " . $item->url; ?>
<?php endforeach; ?>
<?php endif; ?>
нет необходимости в этом возвращаемом пустом операторе.
Кроме того, я считаю, что вы можете возвращать представления в виде строк. Если вы хотите загрузить более одного представления, вы можете загрузить любой фрагмент представления в виде строки ...
$string = $this->load->view($file, $data, true);
Обратите внимание, что вы должны рассмотреть это:
http://codeigniter.com/user_guide/general/views.html
Смотри внизу. В нем говорится, как вернуть в виде строки, за исключением того, что я привык к немного другому синтаксису благодаря пользовательским контроллерам и тому подобному. Возможно, этот пример, который я привел, не является точным.