Laravel по-русски

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

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

#1 25.02.2014 21:59:17

ksedim

Отображение переменных в шаблоне

есть контроллер, в нем делаю так:

        $rules = Rule::all();

        return View::make('regulations', $rules);

Запрос работает, точно. В шаблоне делаю так:

@foreach($rules as $rule)

{{$rule->rule}}
<br/>
<?php endforeach?>

ларавел отвечает так:

Undefined variable: rules

Почему??? я ведь передал в шаблон эту переменную, почему он говорит, что она неизвестная

#2 25.02.2014 22:04:52

ksedim

Re: Отображение переменных в шаблоне

Решение:
@foreach(Rule::all() as $rule)

{{$rule->rule}}
<br/>
<?php endforeach?>

#3 26.02.2014 02:14:30

Re: Отображение переменных в шаблоне

  1. PHPreturn View::make('regulations'$rules);

View::make принимает вторым параметром массив переменных. Когда ты передаёшь $rules, то она преобразуется в массив результатов (после выполнения запроса). Чтобы передать переменную используй один из способов:

PHP
return View::make('regulations', array('rules' => $rules));
// или:
return View::make('regulations'compact('rules'));

Не в сети

#4 26.02.2014 09:29:30

ksedim

Re: Отображение переменных в шаблоне

А мое решение нормальное или изменить на Ваше?

#5 26.02.2014 14:51:41

Re: Отображение переменных в шаблоне

Твоё «решение» — просто отказаться от передачи переменной и использовать выборку из БД (Rule::all()) прямо в шаблоне. Понятное дело, что это не правильно.

Не в сети

#6 26.02.2014 15:22:58

ksedim

Re: Отображение переменных в шаблоне

Спасибо, исправил, все работает

#7 26.02.2014 19:17:11

ksedim

Re: Отображение переменных в шаблоне

Как сделать запрос, который бы выбирал строку из бд с максимальным айди? как пользоваться order by`ем?

#8 26.02.2014 23:02:13

ksedim

Re: Отображение переменных в шаблоне

и снова сам нашел ответ

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