function actionTambahBarangBaru($id) { $return = array('sukses' => false); $model = $this->loadModel($id); if (isset($_POST['Barang'])) { $barang = new Barang(); $barang->attributes = $_POST['Barang']; if ($barang->save()) { $supplierBarang = new SupplierBarang(); $supplierBarang->supplier_id = $model->profil_id; $supplierBarang->barang_id = $barang->id; if ($supplierBarang->save()) { $return = array('sukses' => true, 'barangId' => $barang->id, 'barcode' => $barang->barcode, 'nama' => $barang->nama, 'satuan' => $barang->satuan->nama); } else { /* Jika error simpan supplier, barang hapus saja, emulate roolback */ $barang->delete(); } } else { $return['msg'] = 'Gagal simpan! barcode sudah ada?'; } } $this->renderJSON($return); }