我在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="{"persona_id":1,"nombre":"juan","apellido":"aguirre","correo_electronico":null,"fecha_insert":"2017-04-17 20:42:16","fecha_update":"2017-04-17 20:42:16","eliminado":0}">name last name</option>
如果我给出的值是替换为模型的全部信息。
我不知道为什么会这样,我知道我可以简单地选择&#34; persona_id&#34;从整个模型,但我想知道是否可以直接从选择。
答案 0 :(得分:1)
将循环部分更改为:
<option value="{{ $persona->persona_id }}">{!! $persona->getNombreApellidoPersona() !!}</option>
默认情况下,Blade {{}}语句会自动通过PHP的
htmlspecialchars
函数发送,以防止XSS攻击。如果您不希望转义数据,可以使用以下语法:
Hello, {!! $name !!}