2014-09-12 2 views
0

Мне нужно включать в себя виды динамически с помощью лезвия. Мой код выглядит следующим образом:Laravel - Используйте лезвийный заполнитель в комплекте

@foreach($modules as $module => $value) 
    @include('{{$module}}::menu') 
@endforeach 

Когда я иду в свой браузер, я получаю эту ошибку: «Никакой путь намека не определен». Я новичок в laravel, и я понятия не имею, как это решить. Любая помощь будет замечательной,

+0

забыл упомянуть его; но если я сделаю это, как это @include ('module_name :: menu'), он работает – user2274356

ответ

0

Я думаю, что это должно быть так просто, как это, предполагая, что $ модули просто массив с ключами имен модулей:

@foreach($modules as $module => $value) 
    @include("{$module}::menu") 
@endforeach 
0

Вы уверены, что переменная $modules содержит любые данные? Если не; ваш foreach не будет запущен. Попробуйте поместить это внутри foreach:

{{ var_dump($module) }} 

Просто чтобы убедиться, что $module есть данные.

Редактировать: Похоже, что ваш цикл foreach использует ключ вашего массива, а не значение. Это намеченное поведение? См. Сообщение https://stackoverflow.com/a/18492899/3903565.

+0

Спасибо за ваш ответ. Я попробовал это, и $ module содержит данные – user2274356

+0

Но содержит ли это значение или ключ вашего массива? Прочтите этот пост о парах ключ-значение в ассоциативных массивах: http://stackoverflow.com/a/18492899/3903565 –

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