无法在表列中插入数组,Laravel

时间:2021-07-16 11:34:57

标签: mysql laravel

我需要在具有其他非数组输入的表列中插入一个数组,但每次插入一个字符串 "Array" 时,

我的代码是:

$post_data['product_category'] = "Goods";
    $post_data['product_profile'] = "physical-goods";

    for ($i = 1; $i < count($request->package_type_id); $i++) {
        $answers[] = [
            $post_data['package_type_id'] =$request->package_type_id,
        ];
    }

   
    $update_product = DB::table('orders')
        ->where('transaction_id', $post_data['tran_id'])
        ->updateOrInsert([
            'name' => $post_data['cus_name'],
            'email' => $post_data['cus_email'],
            'phone' => $post_data['cus_phone'],
            'amount' => $post_data['total_amount'],
            'status' => 'Pending',
            'address' => $post_data['cus_add1'],
            'transaction_id' => $post_data['tran_id'],
            'currency' => $post_data['currency'],
            'package_type_id' =>  implode($answers,',')
        ]);

1 个答案:

答案 0 :(得分:0)

你已经走了很长一段路,我想你只是想从 $request->package_type_id 中创建一个字符串,我认为它是一个数组。

$post_data['product_category'] = "Goods";
$post_data['product_profile'] = "physical-goods";

$post_data['package_type_id'] = implode(',', $request->package_type_id);

$update_product = DB::table('orders')
    ->where('transaction_id', $post_data['tran_id'])
    ->updateOrInsert([
        // ...
        'package_type_id' =>  $post_data['package_type_id']
    ]);

另请注意,implode 的语法是 implode(glue, array),而不是相反。