2017-03-06 10 views
4

私は現在、スクラッチからphp mvcを作成していて、テンプレートエンジンとしてtwigを使用しています。ドロップダウンリストで選択したオプションを設定するための助けが必要です。現在のところ、私のモデルでは、スーパーバイザのすべてのリストをプルして、ループのtwigを使用してドロップダウンリストにドロップするSQLクエリがありますが、一致する場合、ユーザのスーパーバイザを選択する方法が必要です。試してみました ドロップセットのオプションを選択ドロップ

<select class="form-control" id="supervisor"> 
     {% for supervisor in supervisor %} 
     <option value="{{supervisor.fname}} {{supervisor.lname}}" >{{supervisor.fname}} {{supervisor.lname}}</option> 
     {% endfor %} 
</select> 

::私は

ビューを小枝に新しいですと、私は今、謝罪

<select class="form-control" id="supervisor"> 
     {% for supervisor in supervisor %} 
{% if {{supervisor.fname}} {{supervisor.lname}} == {{ user.supervisor }} %} 
      <option value=”{{supervisor.fname}} {{supervisor.lname}}” selected>{{supervisor.fname}} {{supervisor.lname}}</option> 
{% else %} 
    <option value=”{{supervisor.fname}} {{supervisor.lname}}”>{{supervisor.fname}} {{supervisor.lname}}</option> 
{% endif %} 
     {% endfor %} 
</select> 

答えて

4

は、あなたがこのような何かを試すことができますである場合があります。
ループ内でsupervisor変数名をoneSupervisorに置き換え、oneSupervisoruser.supervisorでテストします。

<select class="form-control" id="supervisor"> 
    {% for oneSupervisor in supervisor %} 
     {% set selected = '' %} 
     {% if (oneSupervisor.fname ~ ' ' ~ oneSupervisor.lname) == user.supervisor %} 
      {% set selected = 'selected' %} 
     {% endif %} 
     <option value="{{oneSupervisor.fname}} {{oneSupervisor.lname}}" {{ selected }}>{{oneSupervisor.fname}} {{oneSupervisor.lname}}</option> 
    {% endfor %} 
</select> 
+0

これはまだ選択値を設定していませんが、私は、私は、クエリから引っ張っている理由... 表は最初と最後の名前欄とで設定されているoneSupervisorのVARを持って知っているかなり確信しています名前と名字を返さない。私は、{%set moose = 'oneSupervisor.fname oneSupervisor.lname'%}のようなスーパーバイザのvarを設定しようとしましたが、ifステートメントでそれを使用しましたが、それでもまだ選択されていません – darkdelusions

+0

'supervisor'と'スーパーバイザー? – doydoy44

+0

User.supervisorはそれを1つの文字列として返します。Bob Smith onesupervisorは配列(fname Bob lname Smith)より簡単です。すべてのスーパーバイザを収容する新しいテーブルを作成することができます – darkdelusions

関連する問題