2017-05-05 14 views
1

多くの形式で機器を録音したいが、エラーが常に発生する。 不定度:私は次のコードを使用する場合アレイデータをLaravelのデータベースに投稿

public function EquipCheck(Request $request) { 
    $user = User::where('username', $request -> username) -> firstOrFail(); 
    if ($request -> token == $user -> token) { 
     $item_detail_id = CheckLog::where('user_id', $user -> id) -> orderBy('id', 'desc') -> first() -> item_detail_id; 
     $new_form = new Form; 
     $new_form -> item_detail_id = $item_detail_id; 
     $new_form -> user_id = User::where('username', $request -> username) -> firstOrFail() -> id; 
     $new_form -> created_time = Carbon::now() -> format('Y-m-d H:i:s'); 
     $new_form -> save(); 
     $form = Form::with('eqpt') -> where('item_detail_id', $item_detail_id) -> orderBy('created_time', 'desc') -> first(); 

     $data = $request -> eqpt; 
     $i = 0; 
     $sql = array(); 

     while($i < count($cyldata['serie'])){ 
      $sql[] = array(
       'form_id' => $form -> id, 
       'name' => $data['name'][$i], 
       'unit' => $data['unit'][$i], 
       'quantity' => $data['quantity'][$i], 
       'check_quantity' => $data['check_quantity'][$i], 
      ); 
      $i++; 
     } 

     DB::table('eqpt') -> insert($sql); 

     return "Success"; 
    } 
} 

の名前は、データベースは、配列を挿入することができます。

$dataSet[] = [ 
      'form_id' => $form -> id, 
      'name' => 'test', 
      'unit' => 'box', 
      'quantity' => 20, 
      'check_quantity' => 20, 
     ]; 

     DB::table('eqpt') -> insert($dataSet); 

This is post data.

+0

$sql[] = array( 'form_id' => $form -> id, 'name' => $data['name'][$i], 'unit' => $data['unit'][$i], 'quantity' => $data['quantity'][$i], 'check_quantity' => $data['check_quantity'][$i], ); 

はあなたがそれを設定した後、 '$ data'変数を検査しようとしたことがあり置き換えますか?また、 '$ cyldata ['serie']'はどこに設定されていますか? – jackel414

+0

投稿データから配列を再作成するにはどうすればよいですか? –

+0

dd($ data)を作成しましたか?結果を教えていただけますか? –

答えて

2

$データは、オブジェクトの配列が含まれています。 $ data ['name']はその配列のプロパティを参照しますが、その配列内のオブジェクトのプロパティにアクセスする必要があります。

$sql[] = array(
    'form_id' => $form -> id, 
    'name' => $data[$i]['name'], 
    'unit' => $data[$i]['unit'], 
    'quantity' => $data[$i]['quantity'], 
    'check_quantity' => $data[$i]['check_quantity'], 
); 
+0

良いキャッチ - 私はOPがキーを転置したのを見ていない。 – jackel414

関連する問題