2016-04-14 3 views
0
public function updateWorksByStudentId(Request $requests, $id) 
    { 
     $student = Student::find($id)->user_works; 

     $works = $requests['sample_work']; //uncomment when sending request 
     //$works = ['getmi', 'test', 'awts']; //for testing 

     foreach($student as $id => $student_work) 
     { 
      $work = UserWork::find($student_work->id); 
      $work->update(['sample_work' => $works[$id]]); 
      $sample_work[]= $work; 
     } 

     return response()->json($sample_work, 200); 
    } 

フォーム要求が返されました[オブジェクト、オブジェクト、...]コントローラから受け取って配列に変換する方法を教えてください。返されたフォームリクエストはオブジェクトですが、どのように変換して受け入れ、配列に変換するのですか?

答えて

0

$model->get()を試してアレイにデータを取得してください。私はそれを試していませんが、試してみてください。それがあなたのために働くかどうか私に教えてください。

public function updateWorksByStudentId(Request $requests, $id) { 
    $student = Student::find($id) - > user_works; 

    $works = $requests['sample_work']; //uncomment when sending request 
    //$works = ['getmi', 'test', 'awts']; //for testing 

    foreach($student as $id => $student_work) { 
     $work = UserWork::find($student_work - > id); 
     $work->update(['sample_work' => $works[$id]]); 
     // Old 
     // $sample_work[] = $work; 
     // New 
     $sample_work[] = $work->get(); 
    } 

    return response()->json($sample_work, 200); 
} 
0

あなたはforeachの前に$のsample_work配列を作成する必要があります。 これを試してみてください:

public function updateWorksByStudentId(Request $requests, $id) 
{ 
    $student = Student::find($id)->user_works; 

    $works = $requests['sample_work']; //uncomment when sending request 
    //$works = ['getmi', 'test', 'awts']; //for testing 
    $sample_work = array(); 
    foreach($student as $id => $student_work) 
    { 
     $work = UserWork::find($student_work->id); 
     $work->update(['sample_work' => $works[$id]]); 
     $sample_work[]= $work; 
    } 

    return response()->json($sample_work, 200); 
} 
関連する問題