我遇到了问题我无法解决,请帮助我。所以我有我的表格:
{{ Form::open(array('url'=>'/administration/student/addMarks','method' => 'post')) }}
@foreach($aObjectsInGroupe as $object)
{{ Form::hidden('id_object[]',$object->id) }}
{{ Form::label($object->name) }}
{{ Form::select('note[]', $aMarks, null, array('class'=>'form-control')) }}
<br />
@endforeach
{{ Form::hidden('id',$aOneStudent['id']) }}
{{ Form::submit('Add mark',array('class'=>'btn btn-primary')) }}
{{ Form::close() }}
在我的StudentController中,我有一个从student_id和object_id获取标记的方法:
public function getMarkByStudentAndObject($nIdStudent, $nIdObject){
$aMark = \Mark::where('student_id', '=', $nIdStudent)
->and('object_id', $nIdObject)
->get()
->toArray();
}
$ aMarsks它是一张桌子:
$aMarks = array(
'0'=>'0',
'1'=>'1',
'2'=>'2',
'3'=>'3',
'4'=>'4',
'5'=>'5',
'6'=>'6',
'7'=>'7',
'8'=>'8',
'9'=>'9',
'10'=>'10',
);
可以在以下方法中调用方法getMarkByStudentAndObject:
{{ Form::select('note[]', $aMarks, null, array('class'=>'form-control')) }}
获取所选值? 请帮帮我。 Thx提前。
答案 0 :(得分:0)
也许你需要这样做:
<select name="note[]" class="form-control">
@foreach($aMarks as $key => $value)
<option value="{{ $key }}">{{ $value }}</option>
@endforeach
</select>
你还应该检查你的Eloquent查询,而不是 - &gt;并使用另一个 - &gt; where
答案 1 :(得分:0)
尝试查询构建器的lists()
功能
\Mark::where('student_id', '=', $nIdStudent)
->and('object_id', $nIdObject)
->lists('column_1', 'column_2');
然后,您将column_1的值作为数组的键,将column_2作为值。
答案 2 :(得分:0)
您应该可以直接从Form::select
拨打此电话。致电
Mark::getMarkByStudentAndObject($aOneStudent['id'], $object->id)->note
会为您提供Mark
对象,然后您需要获取将值存储在Mark
对象中的注释列。导致这样的电话:
{{
Form::select(
'note[]',
$aMarks,
Mark::getMarkByStudentAndObject(
$aOneStudent['id'],
$object->id
)->note, array('class'=>'form-control')
)
}}
目前我无法验证这是否有效,因为我无法测试它,但它应该可以正常工作,因为Blade只是PHP调用的包装器。