选择不是获取选项

时间:2017-04-25 16:01:33

标签: php html laravel

我在laravel工作,我正在将模型传递到视图中,并且我在每个选项中显示模型的一个属性,但我需要该值是另一个,类似于显示模型的名称但是我需要保存id但它获得所有模型。代码是:

<div class="form-group">
  <div class="col-sm-12">
     <label for="select2">Persona</label>
       <select name="persona" id="persona" class="select2" required>
          @foreach ($personas as $persona)
             <option value="{{$persona->persona_id}}">{{$persona-
              >getNombreApellidoPersona()}}</option>
          @endforeach
       </select>
   </div>
</div>

方法getNombrePersona()正在工作,因为它返回表中的名字和姓氏,但是当我返回请求给我的内容时,这就是行中的返回信息:

 "tipo_usuario" => "{"tipo_usuario_id":2,"cliente":1,"nombre":"admin finca","fecha_insert":"2017-04-20 16:58:24","fecha_update":"2017-04-20 16:58:24","eliminado":0}"

当我检查该部分中的源代码时,在Chrome中显示的是:

<option value="{&quot;persona_id&quot;:1,&quot;nombre&quot;:&quot;juan&quot;,&quot;apellido&quot;:&quot;aguirre&quot;,&quot;correo_electronico&quot;:null,&quot;fecha_insert&quot;:&quot;2017-04-17 20:42:16&quot;,&quot;fecha_update&quot;:&quot;2017-04-17 20:42:16&quot;,&quot;eliminado&quot;:0}">name last name</option>

如果我给出的值是替换为模型的全部信息。

我不知道为什么会这样,我知道我可以简单地选择&#34; persona_id&#34;从整个模型,但我想知道是否可以直接从选择。

1 个答案:

答案 0 :(得分:1)

将循环部分更改为:

<option value="{{ $persona->persona_id }}">{!! $persona->getNombreApellidoPersona() !!}</option>
  

默认情况下,Blade {{}}语句会自动通过PHP的htmlspecialchars函数发送,以防止XSS攻击。如果您不希望转义数据,可以使用以下语法:

Hello, {!! $name !!}

https://laravel.com/docs/5.4/blade#displaying-data