Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 15.11.2017 20:07:16

htclog81
Откуда: Москва
Сообщений: 192
Сайт

Ошибка foreach в шаблоне

dd($user -> payment_methods()->get(), $user -> payments()->get());

//выводит две норм коллекции:

Collection {#341 ▼
  #items: array:1 [▶]
}
Collection {#117 ▼
  #items: array:2 [▶]
}

А в шаблоне одна из коллекций выкидывает ошибку при попытке вывести в цикле, а с другой норм

			@foreach($user -> payment_methods()->get() as $payment_method)
				<div>test</div>
			@foreach

Выкидывает исключение:

ErrorException (E_NOTICE)
Undefined offset: 1
/www/nofiles55/vendor/laravel/framework/src/Illuminate/View/Compilers/Concerns/CompilesLoops.php
     *
     * @param  string  $expression
     * @return string
     */
    protected function compileFor($expression)
    {
        return "<?php for{$expression}: ?>";
    }
 
    /**
     * Compile the for-each statements into valid PHP.
     *
     * @param  string  $expression
     * @return string
     */
    protected function compileForeach($expression)
    {
        preg_match('/\( *(.*) +as *(.*)\)$/is', $expression, $matches);
 
        $iteratee = trim($matches[1]);
 
        $iteration = trim($matches[2]);
 
        $initLoop = "\$__currentLoopData = {$iteratee}; \$__env->addLoop(\$__currentLoopData);";
 
        $iterateLoop = '$__env->incrementLoopIndices(); $loop = $__env->getLastLoop();';
 
        return "<?php {$initLoop} foreach(\$__currentLoopData as {$iteration}): {$iterateLoop} ?>";
    }
 

Не в сети

#2 15.11.2017 20:52:41

htclog81
Откуда: Москва
Сообщений: 192
Сайт

Re: Ошибка foreach в шаблоне

Ой. Прошу простить. Ошибка синтаксическая @endforeach не поставил. И в глаза не бросается и исключение совсем не содержит инфу в чем проблема.

Не в сети

Подвал раздела