2017-04-25 36 views
2

我在laravel工作,我正在將一個模型傳遞到一個視圖中,並且我在每個選項中都顯示了該模型的一個屬性,但是我需要該值是另一個值,就像顯示一個模型的名字一樣,但我需要保存這個id,但是它得到了所有的模型。代碼:選擇不是gettion選項的值

<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}" 

而在當我檢查的源代碼在這部分鉻是它顯示:

<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> 

這就像如果我給的值是由整體的Infor更換mation如果模型。

我不知道爲什麼會發生這種情況,我知道我可以簡單地從整個模型中取出「persona_id」,但我想知道是否可以直接從select中取出。

回答

1

改變的環路部分這樣的:

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

默認情況下,刀片{{}}報表會自動通過PHP的htmlspecialchars發送功能,以防止XSS攻擊。如果您不希望您的數據進行轉義做,你可以使用下面的語法:

Hello, {!! $name !!} 

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