我的视图显示了特定会议的详细信息。
每个会议可以有多种注册类型。注册类型表包含以下列:name,min_participants,max_participants等。
在此详细信息会议页面中,我将使用以下代码显示该会议的注册类型信息。注册类型名称工作正常,但我有一个选择菜单,因此用户可以选择有多少参与者想要注册每种注册类型。我怀疑如何做这一部分。因为,用户只能选择数据库列min_participants和max_participants中存在的最小和最大参与者之间的值。
例如,对于ID为“1”的会议,当用户访问“app.test / conf / 1”时,会出现注册类型“general”,其中“min_participants”列为“1”和“max_participants” “as”3“在数据库中。因此在选择菜单中应该只显示值“1,2,3”。
你知道怎么做吗?我现在选择这个菜单是静态的,因为我不明白怎么做。也许使用访问器方法“quantityBetweenAttribute”但我不理解逻辑应该如何在方法中。
@foreach($registration_types as $rtype)
<li class="list-group-item d-flex align-items-center justify-content-between">
<span class="font-weight-semi-bold text-heading-blue">{{$rtype->name}}</span>
<form>
<select>
<option selected="">1</option>
<option>2</option>
<option>3</option>
</select>
</form>
</li>
@endforeach
会议模式:
class Conference extends Model
{
// A conference has many registration types
public function registrationTypes(){
return $this->hasMany('App\RegistrationType', 'conference_id');
}
}
public function quantityBetweenAttribute() {
$registrationTypes = $this->registrationTypes();
}
RegistrationType型号:
class RegistrationType extends Model
{
public function conference(){
return $this->belongsTo('App\Conference');
}
}
答案 0 :(得分:1)
我认为这可行:
@foreach($registration_types as $rtype)
<li class="list-group-item d-flex align-items-center justify-content-between">
<span class="font-weight-semi-bold text-heading-blue">{{$rtype->name}}</span>
<form>
<select>
@for($i = $rtype->min_participants; $i <= $rtype->max_participants; $i++)
<option {{ $i == $selectedType ? 'selected' : '' }}>{{ $i }}</option>
@endfor
</select>
</form>
</li>
@endforeach
请注意,您可以选择使用{{ $i == $selectedType ? 'selected' : '' }}
通过将变量$ selectedType传递给视图来设置所选状态。
希望有所帮助:)
答案 1 :(得分:0)
您可以添加for循环:
@foreach($registration_types as $rtype)
<li class="list-group-item d-flex align-items-center justify-content-between">
<span class="font-weight-semi-bold text-heading-blue">{{$rtype->name}}</span>
<form>
<select>
@for ($i = $rtype->min_participants; $i <= $rtype-> max_participants; $i++)
<option selected="{{ $i === $rtype->min_participants }}">{{ $i }}</option>
@endfor
</select>
</form>
</li>
@endforeach