Как вернуть / получить список в PHP Post? - PullRequest
0 голосов
/ 20 декабря 2018

Я новичок в PHP и Laravel и сталкиваюсь с проблемами при возврате / получении всех объектов студента с помощью метода PHP post.То, что я пытаюсь сделать, это когда при нажатии кнопки «СОХРАНИТЬ» сохраняются все значения, присутствующие или отсутствующие для каждого учащегося.Прямо сейчас он только возвращает мне последнего студента для всех записей и сохраняет его.т. е. если учится 100 учеников, то посещаемость последнего ученика сохраняется в 100 раз.Вот мой код:

<form action="store_attendence_student" method="POST">
  <div class="form-group">
            <label  class="control-label">Date:</label>
            <input name="attendecnedate" type="date" class="form-control">
        </div>
    @foreach($stdcourse1 as $d)     
        <h3> {{$d->student_registration_num}}</h3>
        <h3> {{$d->student_name}}</h3>
        <input type="hidden" name="s_id" value="{{$d->student_registration_num}}" >
        <input type="hidden" name="s_name" value="{{$d->student_name}}" >
      <select name="atten">
                <option value="present">Present</option>
                <option value="absent">Absent</option>
            </select>
      @endforeach
  <div class="form-layout-footer" style="margin-left: 40%">
    <input type="hidden" name="_token" value="{{ csrf_token() }}">
    <button  type="submit" class="btn btn-success mg-r-5">  Save</button></a>
  </div>
</form>

Вот действие сохранения контроллера:

public function store_attendence_student(Request $request)
{
     $data7=teachers::select('teacher_id')->where('teacher_email','=',Session::get('teacher_username'))->pluck('teacher_id')->first();

     $course1= teachers::select('course_id')->where('teacher_id','=',$data7)->pluck('course_id')->first();

     $stdcourse1=student::leftjoin('courses','courses.sem_id','=','students.sem_id')->where('courses.id','=',$course1)
    ->select('students.student_name','students.student_id')->count();


     for ($i=0; $i < $stdcourse1 ; $i++) 
     { 
        $attendence = new attendence();
        $attendence->student_id=$request->s_id;
        $attendence->student_name=$request->s_name;
        $attendence->course_id=$course1;
        $attendence->teacher_id=$data7;
        $attendence->date=$request->attendecnedate;
        $attendence->status_attendence=$request->atten;
        $attendence->save();
     }


}

1 Ответ

0 голосов
/ 20 декабря 2018

Попробуйте:

for ($i=0; $i < $stdcourse1 ; $i++) 
{ 
    $attendence = new attendence();
    $attendence->student_id=isset($request[$i]->s_id)? $request[$i]->s_id : '0';
    $attendence->student_name=isset($request[$i]->s_name) ? $request[$i]->s_name : '';
    $attendence->course_id=isset($course1[$i]) ? $course1[$i] : '';
    $attendence->teacher_id=isset($data7[$i]) ? $data7[$i] : '';
    $attendence->date=isset($request[$i]->attendecnedate) ? $request[$i]->attendecnedate : '2018-12-20 07:00:00'; **//change this static value to dynamic one**
    $attendence->status_attendence=isset($request[$i]->atten) ? $request[$i]->atten : '';
    $attendence->save();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...