【问题标题】:Problems while passing variable from controller to blade view将变量从控制器传递到刀片视图时出现问题
【发布时间】:2016-03-07 13:15:17
【问题描述】:

我有一个模型类

<?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);

}

我发现这个错误

这是我的 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

【问题讨论】:

  • 请发布您的show.blade.php 视图。

标签: php laravel laravel-4


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

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

    对于一般的解决方案,您应该检查 variable 是之前定义的还是传递给视图的。这可能对其他人有所帮助。 谢谢

    【讨论】:

      猜你喜欢
      • 2014-08-23
      • 2019-11-13
      • 2017-09-03
      • 1970-01-01
      • 2019-03-30
      • 2022-01-01
      • 2012-02-10
      • 2019-08-21
      相关资源
      最近更新 更多