将变量从控制器传递到刀片视图时出现问题

时间:2016-03-07 13:15:17

标签: php laravel laravel-4

我有一个模型类

<?php

class CategoriaModificador extends Base
{
     protected $table = 'categorias_modificadores';

public function restaurantes()
{

    return $this->hasMany('CategoriaModificadorRestaurante', 'categorias_modificadores_id');
}

}

当我尝试将变量传递到控制器中的刀片视图时

 public function show($id = 0)
{
    if (!get_session_empresa()) {
        return Redirect::route('empresa.logar')->with('message_error', 'Você precisa está logado');
    }


    $categoriaModificador = CategoriaModificador::where('empresas_id', (int)get_session_empresa()->id)
        ->where("id", (int)$id)
        ->first();

    return View::make('frontend.' . $this->theme_base . '.categoria-modificador.show')
        ->with('categoriaModificador',  $categoriaModificador);

}

我发现此错误laravel error

这是我的show.blade.html

@extends('frontend.default.base_restrita')

@section('title')
Categoria de Modificador - {{ config_value('site_nome') }}
@stop

@section('content')

<section id="main-content">
    <section class="wrapper">
        <section class="panel">
            <header class="panel-heading">
               {{$categoriaModificador->nome}}    
            </header>
            <div class="panel-body">
                <div class="clearfix">
                  <div class="row">
                      <div class="col-lg-5">
                          <h4 class="pull-right"> Nome:</h4>
                      </div>
                      <div class="col-lg-6">
                           <h4 class="pull-left"> {{$categoriaModificador->nome}}</h4>
                      </div>
                  </div>
                  <div class="row">
                      <div class="col-lg-5">
                          <h4 class="pull-right"> Obrigatório:</h4>
                      </div>
                      <div class="col-lg-6">
                           <h4 class="pull-left"> {{$categoriaModificador->obrigatorio}}</h4>
                      </div>
                  </div>
                  <div class="row">
                      <div class="col-lg-5">
                          <h4 class="pull-right"> Máximo de Opções:</h4>
                      </div>
                      <div class="col-lg-6">
                           <h4 class="pull-left"> {{$categoriaModificador->maximo_opcoes}}</h4>
                      </div>
                  </div>
                  <div class="row">
                      <div class="col-lg-5">
                          <h4 class="pull-right"> Restaurantes:</h4>
                      </div>
                      @for($i=0;$i<$categoriaModificador->restaurantes->count();$i++)
                        @if($i==0)
                          <div class="col-lg-6">
                              <h4 class="pull-left">{{$$categoriaModificador->restaurantes[$i]->nome}}</h4><br>
                          </div>
                        @else
                          <div class="col-lg-5">
                              <h4 class="pull-right"></h4>
                          </div>
                          <div class="col-lg-6">
                              <h4 class="pull-left">{{$$categoriaModificador->restaurantes[$i]->nome}}</h4><br>
                          </div>   
                        @endif

                      @endfor
                  </div>

                </div>
              </div>  
          </section>  
    </section>
</section>

@stop

2 个答案:

答案 0 :(得分:1)

感谢您发布视图。我认为问题是你正在使用$categoriaModificador->restaurantes[$i]->nome,但似乎你的nome集合中没有$categoriaModificador->restaurantes

另外,为什么你在$$categoriaModificador使用双美元符号?

答案 1 :(得分:0)

如果您清楚地看到错误,您将自己找到解决方案。 Undefined variable错误表示您正在视图文件中打印未定义的内容。

对于一般解决方案,您应该检查先前是否已定义variable或是否已将其传递给视图。这可能有助于其他人。 感谢