У меня есть проблема, и я не могу ее решить, пожалуйста, помогите мне. Итак, у меня есть моя форма:
{{ 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')) }}
получить выбранное значение?
Помоги мне, пожалуйста. Спасибо заранее.
может быть, вам нужно сделать это:
<select name="note[]" class="form-control">
@foreach($aMarks as $key => $value)
<option value="{{ $key }}">{{ $value }}</option>
@endforeach
</select>
Вы также должны проверить свой Eloquent запрос вместо -> и использовать другой -> где
Попробуйте lists()
функция построителя запросов
\Mark::where('student_id', '=', $nIdStudent)
->and('object_id', $nIdObject)
->lists('column_1', 'column_2');
Затем вы получаете значения column_1 в качестве ключей массива и column_2 в качестве значений.
Вы должны иметь возможность напрямую позвонить из 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.