Database 如何使用LARAVEL控制器在JSON中保存数组数据

Database 如何使用LARAVEL控制器在JSON中保存数组数据,database,laravel,eloquent,Database,Laravel,Eloquent,我想保存create.blade.php视图生成的数据 按下submit按钮后,控制台日志输出如下面的代码所示 { "kode_trx": "PO-2019030004", "no_po": "0005/DIN/III/2019", "pic_po": "Carlo Donadini", "pic_telp": "+39438778020", "top": "RRRRR", "supplier_id": "1", "delivery_date": "28-03-201

我想保存create.blade.php视图生成的数据

按下submit按钮后,控制台日志输出如下面的代码所示

{ "kode_trx": "PO-2019030004", "no_po": "0005/DIN/III/2019", "pic_po": "Carlo Donadini", "pic_telp": "+39438778020", "top": "RRRRR", "supplier_id": "1", "delivery_date": "28-03-2019", "created_by_id": "1", "total_barang": "7", "grand_total": "122500000", "tb_detail_po": [ [ "BRG-2019030004", "Electric Deep Fryer", "SC-81", "290", "440", "310", "4", "17500000", "70000000", " ", "4", "PO-2019030004", "0005/DIN/III/2019", "1", "5" ], [ "BRG-2019030004", "Electric Deep Fryer", "SC-81", "290", "440", "310", "3", "17500000", "52500000", " ", "4", "PO-2019030004", "0005/DIN/III/2019", "1", "5" ] ] } { “kode_trx”:“PO-2019030004”, “no_po”:“0005/DIN/III/2019”, “pic_po”:“卡洛·多纳迪尼”, “PICU telp”:“+39438778020”, “顶部”:“RRR”, “供应商id”:“1”, “交付日期”:“2019年3月28日”, “创建人id”:“1”, “总计”:“7”, “总计”为“122500000”, “tb_详情_po”:[ [ “BRG-2019030004”, “电油炸锅”, “SC-81”, "290", "440", "310", "4", "17500000", "70000000", " ", "4", “PO-2019030004”, “0005/DIN/III/2019”, "1", "5" ], [ “BRG-2019030004”, “电油炸锅”, “SC-81”, "290", "440", "310", "3", "17500000", "52500000", " ", "4", “PO-2019030004”, “0005/DIN/III/2019”, "1", "5" ] ] } 所以我想把它保存到两个不同的表中,表purchases和purchaseu details


我该如何在方法库中的POController中编写代码

您可以将数据存储在表
purchase
中,如下所示

$result = $request->all();
$created = Your Model::create([Your Data For Table 1]);
if($created) {
   foreach($request->tb_detail_po as $details) {
      Your Model2::create([Your Detail Data For Table 2]);
   }
}
class POController extends Controller
{
    public function store(Request $request)
    {
        $purchase = Purchase::create([
            "id_penerimaan" => $request->no_nota,
            "id_customer" => $request->customer,
            "id_karyawan" => $request->karyawan,
            "tgl_penerimaan" => \Carbon\Carbon::now()->format('Y-m-d H:i:s'),            
        ]);

        return $purchase;
    }
}
对于表
purchase\u details
,如果您使用它将非常有用

观察员示例:

class UserObserver
{
    public function created(Purchase $purchase)
    {
        if (request()->tb_detail_po) {
            foreach(request()->tb_detail_po as $detail) {
                PurchaseDetail::create([
                    'id_purchase' => $purchase->id,
                    'id_penerimaan' => request()->no_nota,
                    'id_karyawan' => $detail[9],
                    'id_kategori' => $detail[8],
                    'sn_barang' => $detail[1],
                    'nama_barang' => $detail[0],
                    'kelengkapan' => $detail[2],
                    'keluhan' => $detail[3],
                    'id_garansi' => $detail[10],
                    'id_status' => '1',
                    'kondisi' => '1'
                ]);
            }
        }
    }
}

您已经创建了这些数据库架构吗?你在使用模型吗?不确定问题是什么?您需要有关数据库架构的帮助吗?如何处理数据并将其转换为易于使用的数组或集合?你需要有口才的模特的帮助吗?以上一切你都需要帮助吗?那么您是如何使create.blade.php工作的呢?我有很多问题。@thisiskelvin是的,我已经创建了数据库架构,我想将数据保存到表PO,然后根据id或kode将与表PO相关的表详细信息保存到表PO。您能帮我将CI语法转换为laravel语法吗?我已经按照您的要求用数据修改了代码,您可以试试
Try to use **JSON_DECODE($data)** OR **JSON_ENCODE($data)**