2014-01-31 8 views
-2

Я пытаюсь включить файлы на свою страницу, чьи пути хранятся в моем db. Я пробовал: -Laravel Blade @include inside foreach loop

@foreach($data as $articles) 
    @include($articles->path) 
    <br /> 
@endforeach 

Это не работает. Что я делаю не так.

У меня есть мои файлы в папке с именами страниц, и я добавил расширение .blade.php.

+0

Какая ошибка возникает у вас? – intelis

+0

Как выглядит ваш «$ articles-> path»? – Needpoule

+0

@intelis - View ['pages/articles/first-post'] not found –

ответ

2

Вы должны убедиться, что путь, который вы ссылаетесь на самом деле существует в виде файла в папке просмотров т.е.

application/views/pages/articles/first-post.blade.php 

Одна вещь, которую я видел много людей делают это добавить мнения в домашней папке но не добавили его в путь включения, например

application/views/home/pages/articles/first-post.blade.php 

Кроме того, похоже, что вы неправильно вызываете путь в @include. Если использовать точечную нотацию

@include('pages.articles.first-post); 

Вы также должны убедиться, что вы не пытаетесь получить вид из пучка. Вам нужно добавить имя пакета, если это так.

@include('bundle_name::pages.articles.first-post'); 
+1

Вам не нужно заменять косые слова самостоятельно. Ларавел справится с ними просто отлично. – thpl

+0

@Gaz_Edge - Я попытался с точками и с/напрямую - оба работают нормально, мой вопрос заключается в том, как поместить это в цикл, поскольку пути, хранящиеся в mysql db @include {$ articles-> path}, дают ошибку, файл не найден. Если файл не был тогда, я думаю, он не должен работать с точками и/или обряд ...? –

+0

Вы сомневаетесь, что почти не чувствуете смысла. Каков результат $ article-> path? Мне кажется, что это неправильно для меня –

Смежные вопросы