Передача переменной в представление с помощью laravel 5.6


Спокойной ночи я использую laravel 5.6, и у меня есть сомнения, я хочу передать переменную в мое представление, чтобы иметь возможность использовать его и помочь мне определить вставку или нет формы в представление в контроллере у меня есть следующий код:

public function listar($dato=""){
               if ($dato="pendiente") {
        $LlamadaDetectar=true;
        $asignacion=DB::table('asignacions')
        ->join('rangos','funcionarios.id_rango','=','rangos.id_rango')
        ->join('almacens','asignacions.id_almacen','=','almacens.id_almacen')
        ->select('id_asignacion','rangos.abreviacion AS grado','almacens.descripcion AS Oficina','asignacions.estado AS estadoAsignacion')
        ->where('asignacions.estado','=', 1)
        ->where('almacens.almacen_padre','=', $almaceUsuario)->paginate(25);
    }
    elseif($dato=""){
        $LlamadaDetectar=false;
        $asignacion=DB::table('asignacions')
        ->join('rangos','funcionarios.id_rango','=','rangos.id_rango')
        ->join('almacens','asignacions.id_almacen','=','almacens.id_almacen')
        ->select('id_asignacion','rangos.abreviacion AS grado','almacens.descripcion AS Oficina','asignacions.estado AS estadoAsignacion')
        ->where('almacens.almacen_padre','=', $almaceUsuario)->paginate(25);
    }
   }
    return view('material.asignaciones',compact('asignacion'))->with('LlamadaDetectar', $LlamadaDetectar);

} 

переменная, которую я отправляю, - $ Calledetect=true;

который я пытаюсь использовать в своем представлении следующим образом:

<h2 class="text-center">Asignaciones de material</h2>
<div class="col-lg-6 offset-lg-3 col-md-12">
 <div class="input-group">
   <?php
   if ($LlamadaDetectar=false) {
     echo "<input type='text' class='form-control' id='buscarAsignacion'>"; 
   }
   ?>
 </div>
</div>

1 answers

Если вы собираетесь работать с синтаксисом blade в представлениях Laravel; что на самом деле рекомендуется, то ваш код должен выглядеть так

@if($LlamadaDetectar == false)
    {!! "<input type='text'>" !!}
@endif

С вышеизложенным вы избегаете вставки бэкэнда в чистый php, который будет держать файл представления более орден; а также извлечь выгоду из blade

С другой стороны, я замечаю, что ваш if неверен с того момента, как вы пытаетесь проверить, является ли переменная false или true; поскольку вы используете только один оператор точно так же все идет так

  1. = означает выравнивание а = 9; мы говорим, что а равно 9
  2. == означает сравнение 10 == 10, он вернет true, что 10, Если равно 10
 1
Author: , 2018-05-24 00:02:48