Как передать массив числовых значений для просмотра

-2

Модель

 <?php

class Testrundetail extends Eloquent {

    protected $table = 'testrundetail';

    public static function getAll ()
    {
        $getAll = DB::table('testrundetail')
            ->orderBy('platform', 'asc')
            ->distinct()
            ->lists('platform');

            return $getAll;    
    }
}

контроллер

class PageController extends BaseController {

        public function home ()
        {
            $var = Testrundetail::getAll();

        return View::make('hello')->with('var', '$var');

        }

        public function about ()
        {

        return View::make('about');
        }

    }

hello.blade.php

<!doctype html>

<html>

    <head>
        <meta charset="utf-8">
    </head>

    <body>

    <h1> Hello, {{$var}} </h1>

    </body>

</html>

Результат getAll(): ['2520','stack-Ar','2530','2530ya'] Но на выходе я получаю 'Hello $var'

Что я делаю не так? Хотя, если я hello{{$var[0]}}, я получаю вывод 'Hello 2'

  • 0
    Что ожидается и что вы получаете?
  • 0
    если вы хотите напечатать массив, разверните его и выведите как {{implode (',', $ var)}}, это будет работать.
Показать ещё 4 комментария
Теги:
eloquent
laravel-4
blade

2 ответа

0
Лучший ответ

прежде всего

return View::make('hello')->with('var', '$var');

должен стать

return View::make('hello')->with('var', $var);

иначе вы будете печатать '$ var',

второй вы передадите массив объектов в представление, поэтому в виде типа введите что-то вроде:

@foreach($var as $item)
    <li> 
        {{$item->columnName}} 
    </li>
@endforeach
0

вы используете {{$ var}}. {{}} скобки используются для эхо-изменения переменной php при использовании шаблонов клипов. и если вы не используете шаблоны шаблонов, просто переходите к концепции ядра php.

просто используйте

 var_dump($var);
 or print_r($var);

нажмите здесь, чтобы узнать о шаблонах лезвий.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню