因此,我在注册中使用html表单,在该表单中,您可以从“额外”表中看到额外选项exa_name,从额外表中看到价格,并从与额外表连接的额外选项表中进行选择。
问题: 选择(我使用foreach)显示Extraoptions-> eos_name中的所有行,并且我希望它显示eos_name的位置,其中eos_extra_id与exa_id相同!
html表单: 这就是我现在所拥有的,我不确定如何比较选项值中的eos_extra_id和exa_id
//options(exa_name from the Extra table)
<label>Options</label><br>
@foreach($options as $option)
<div>
<input type="checkbox" class="option" id="option_{{ $option->exa_id }}" name="option_{{ $option->exa_id }}" value="{{ $option->exa_id }}" {{ isset($cache) ? (isset($cache['option_' . $option->exa_id]) ? 'checked' : '') : (old() ? (old('option_' . $option->exa_id) ? 'checked' : '') : ($registration ? (in_array($registration ->exa_id, $registration_options) ? 'checked' : '') : '')) }} >
<input type="hidden" value="{{ $option->exa_price }}" class="option_price_{{ $option->exa_id }}">
<label>{{ $option->exa_name }}</label> <label class="exa_price"> €{{ $option->exa_price }} </label>
</div>
//extra options select
<select name="extraoptions" class="form-control">
<option></option>
@foreach($extraoptions as $extraoption)
<option value="{{ $extraoption->eos_id }}"
{{ (exa_id('eos_extra_id') == $extraoption->eos_id ? 'selected' : "") }}>
{{ $extraoption->eos_name }}</option>
@endforeach
</select>
@endforeach
谢谢!
答案 0 :(得分:0)
您似乎想将$extraoptions
的显示限制为具有相同exa_id
的显示。为此,请在您的filter()
调用中使用一个简单的@foreach()
函数:
<label>Options</label><br>
@foreach($options as $option)
<div>
<input type="checkbox" class="option" id="option_{{ $option->exa_id }}" name="option_{{ $option->exa_id }}" value="{{ $option->exa_id }}" {{ isset($cache) ? (isset($cache['option_' . $option->exa_id]) ? 'checked' : '') : (old() ? (old('option_' . $option->exa_id) ? 'checked' : '') : ($registration ? (in_array($registration ->exa_id, $registration_options) ? 'checked' : '') : '')) }} >
<input type="hidden" value="{{ $option->exa_price }}" class="option_price_{{ $option->exa_id }}">
<label>{{ $option->exa_name }}</label> <label class="exa_price"> €{{ $option->exa_price }} </label>
</div>
<select name="extraoptions" class="form-control">
<option></option>
@foreach($extraoptions->filter(function($exOpt){ return $exOpt->eos_id == exa_id('eos_extra_id'); }) as $extraoption)
<option value="{{ $extraoption->eos_id }}">{{ $extraoption->eos_name }}</option>
@endforeach
</select>
@endforeach
为澄清起见,我删除了selected
逻辑,因为在单个非多个selected
内的多个<option>
元素上设置了<select>
除了将最后一个匹配选项显示为默认选择的选项外,其他功能都可以做。