{"id":39,"date":"2022-05-14T09:49:01","date_gmt":"2022-05-14T09:49:01","guid":{"rendered":"https:\/\/perangkatlunakku.com\/?p=39"},"modified":"2022-12-21T07:09:48","modified_gmt":"2022-12-21T07:09:48","slug":"slim4-tutorial-api-5-database-transaction","status":"publish","type":"post","link":"https:\/\/perangkatlunakku.com\/en\/2022\/05\/14\/slim4-tutorial-api-5-database-transaction\/","title":{"rendered":"Slim4 API Tutorial: 5 Transaction Database"},"content":{"rendered":"<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"300\" src=\"https:\/\/perangkatlunakku.com\/wp-content\/uploads\/2022\/05\/slim4-database-transaction.png\" alt=\"Slim4 database transaction\" class=\"wp-image-41\" srcset=\"https:\/\/perangkatlunakku.com\/wp-content\/uploads\/2022\/05\/slim4-database-transaction.png 300w, https:\/\/perangkatlunakku.com\/wp-content\/uploads\/2022\/05\/slim4-database-transaction-150x150.png 150w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/figure>\n\n\n\n<p>In <strong>Slim4 API Tutorial: 5 Transaction Database<\/strong>, we will discuss how to use database <strong>transaction<\/strong>, <strong>commit<\/strong>, dan <strong>rollback<\/strong> in Slim4. After user was successfully <a href=\"https:\/\/perangkatlunakku.com\/en\/slim4-tutoria-api-4-autentikasi-pada-middleware\/\" target=\"_blank\" rel=\"noreferrer noopener\">authenticated by middleware<\/a>, then user places an product order to shopping chart. Application can  store order data in several tables at once. For example, user orders clothes, jackets and pants. In addition to store order shoping chart from the user, the system will also save the user's address which will be used as delivery address, delivery history, and so on.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-pengenalan-database-transaction\">Database transactions introduction<\/h2>\n\n\n\n<p>Database transaction is a process where the database will store or change data in the table (commit) when there is no error in the processing (transaction). However, if an error occurs in the process of saving or changing the data, the database will return the data to its original (rollback). An example of a database that will be used to perform a transaction database is as follows:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"876\" height=\"534\" src=\"https:\/\/perangkatlunakku.com\/wp-content\/uploads\/2022\/05\/fashion-store-db-design.png\" alt=\"Fashion Store database transaction\" class=\"wp-image-53\" srcset=\"https:\/\/perangkatlunakku.com\/wp-content\/uploads\/2022\/05\/fashion-store-db-design.png 876w, https:\/\/perangkatlunakku.com\/wp-content\/uploads\/2022\/05\/fashion-store-db-design-300x183.png 300w, https:\/\/perangkatlunakku.com\/wp-content\/uploads\/2022\/05\/fashion-store-db-design-768x468.png 768w\" sizes=\"auto, (max-width: 876px) 100vw, 876px\" \/><\/figure>\n\n\n\n<p>We can use sample data as follows:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"sql\" class=\"language-sql\"># user_address\nINSERT INTO `fashion_store_db`.`user_address` (`user_id`, `address`) VALUES ('1', 'User 1 Address');\n\n# category\nINSERT INTO `fashion_store_db`.`category` (`category`) VALUES ('Clothing');\nINSERT INTO `fashion_store_db`.`category` (`category`) VALUES ('Shoes');\nINSERT INTO `fashion_store_db`.`category` (`category`) VALUES ('Watches');\n\n# product\nINSERT INTO `fashion_store_db`.`product` (`category_id`, `name`, `stock`, `price`, `status`) VALUES ('1', 'Jacket', '4', '200000', '1');\nINSERT INTO `fashion_store_db`.`product` (`category_id`, `name`, `stock`, `price`, `status`) VALUES ('1', 'T-shirt', '8', '100000', '1');\nINSERT INTO `fashion_store_db`.`product` (`category_id`, `name`, `stock`, `price`, `status`) VALUES ('2', 'Boots', '1', '150000', '1');<\/code><\/pre>\n\n\n\n<p>Database script can be viewed at <a href=\"https:\/\/github.com\/pradesn\/fashion-store-slim4\/blob\/master\/db\/fashion_store_db.sql\" target=\"_blank\" rel=\"noreferrer noopener\">Github<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-penerapan-pada-order-api\">Order API implementation<\/h2>\n\n\n\n<p>Before implement the database transaction in Slim4, need to implement some models to accommodate objects or requests. It will use to store data in the database. We will use <strong>Order<\/strong> and <strong>OrderDetail<\/strong>.<\/p>\n\n\n\n<p>Order Model is used to store data in <strong>order<\/strong>order table, data contains users, user addresses, and order status.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"php\" class=\"language-php\">&lt;?php\n\nnamespace App\\Models;\n\nuse Illuminate\\Database\\Eloquent\\Model;\n\nclass Order extends Model\n{\n    protected $table = 'order';\n    protected $primaryKey = 'id';\n}<\/code><\/pre>\n\n\n\n<p>OrderDetail model uses <strong>order_detail<\/strong> table, it will be used to store user's order shoping chart.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"sql\" class=\"language-sql\">&lt;?php\n\nnamespace App\\Models;\n\nuse Illuminate\\Database\\ELoquent\\Model;\n\nclass OrderDetail extends Model\n{\n    protected $table = 'order_detail';\n    protected $primaryKey = 'id';\n}<\/code><\/pre>\n\n\n\n<p>Create route with endpoint name <strong>\/order<\/strong>, this route will be used to accommodate incoming order requests, then models will process and store the data in order and order_detail tables. In Eloquent, database transaction will start the process by using syntax <strong>beginTransaction()<\/strong>. If all processes have no errors and finish the process, it will use commit() function. However, if an error occurs and will return to its original data, it will use <strong>commit()<\/strong>. Namun jika terjadi kesalahan dan akan mengembalikan data dalam keadaan semula menggunakan fungsi <strong>rollBack()<\/strong>.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"php\" class=\"language-php\">$app-&gt;post('\/order', function (Request $request, Response $response) use ($capsule) {\n    $body = $request-&gt;getBody();\n    $json = json_decode($body, true);\n\n    $connection = $capsule-&gt;getConnection();\n    try {\n        $connection-&gt;beginTransaction();\n\n        $order = new Order();\n        $order-&gt;user_id = $request-&gt;getAttribute('user_id');\n        $order-&gt;user_address_id = $json['address_id'];\n        $order-&gt;status = 0;\n        $order-&gt;save();\n\n        $items = [];\n        foreach($json['item'] as $item) {\n            $item['order_id'] = $order-&gt;id;\n            $item['status'] = 0;\n            $items[] = $item;\n        }\n        OrderDetail::insert($items);\n\n        $connection-&gt;commit();\n        $message['message'] = 'Order successfully';\n        $statusCode = 201;\n    } catch (\\Exception $e) {\n        $connection-&gt;rollBack();\n        $message['message'] = $e-&gt;getMessage();\n        $statusCode = 400;\n    }\n\n    $response-&gt;getBody()-&gt;write(json_encode($message));\n    return $response-&gt;withHeader('Content-Type', 'application-json')\n        -&gt;withStatus($statusCode);\n})-&gt;add($authMiddleware);<\/code><\/pre>\n\n\n\n<p>Order json data example :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"json\" class=\"language-json\">{\n    \"address_id\": 1,\n    \"item\": [\n        {\n            \"product_id\": 1,\n            \"price\": 200000,\n            \"amount\": 1,\n            \"note\": \"\"\n        },\n        {\n            \"product_id\": 2,\n            \"price\": 100000,\n            \"amount\": 1,\n            \"note\": \"black\"\n        },\n        {\n            \"product_id\": 3,\n            \"price\": 150000,\n            \"amount\": 1,\n            \"note\": \"\"\n        }\n    ]\n}<\/code><\/pre>\n\n\n\n<p>The order request results using Postman:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"504\" src=\"https:\/\/perangkatlunakku.com\/wp-content\/uploads\/2022\/05\/slim4-order-api-postman-1024x504.png\" alt=\"Slim4 Order API using Postman\" class=\"wp-image-40\" srcset=\"https:\/\/perangkatlunakku.com\/wp-content\/uploads\/2022\/05\/slim4-order-api-postman-1024x504.png 1024w, https:\/\/perangkatlunakku.com\/wp-content\/uploads\/2022\/05\/slim4-order-api-postman-300x148.png 300w, https:\/\/perangkatlunakku.com\/wp-content\/uploads\/2022\/05\/slim4-order-api-postman-768x378.png 768w, https:\/\/perangkatlunakku.com\/wp-content\/uploads\/2022\/05\/slim4-order-api-postman.png 1127w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Full code can be viewed at <a href=\"https:\/\/github.com\/pradesn\/fashion-store-slim4\/tree\/bfa01c3f84faf44cb318c485a859e887848505a7\" target=\"_blank\" rel=\"noreferrer noopener\">Github<\/a>.<\/p>","protected":false},"excerpt":{"rendered":"<p>In Slim4 Tutorial API: 5 Database Transaction, we will discuss how to use transactions, commits, and rollbacks in Slim4.<\/p>","protected":false},"author":1,"featured_media":41,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[9,7,4],"class_list":["post-39","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tutorial","tag-fashion-store-api","tag-php-backend","tag-slim4"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v22.5 (Yoast SEO v23.6) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Slim4 Tutorial API: 5 Database Transaction - perangkatlunakku<\/title>\n<meta name=\"description\" content=\"Pada Slim4 Tutorial API: 5 Database Transaction, akan dibahas bagaimana menggunakan transaction, commit, dan rollback pada Slim4.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/perangkatlunakku.com\/en\/2022\/05\/14\/slim4-tutorial-api-5-database-transaction\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Slim4 Tutorial API: 5 Database Transaction\" \/>\n<meta property=\"og:description\" content=\"Pada Slim4 Tutorial API: 5 Database Transaction, akan dibahas bagaimana menggunakan transaction, commit, dan rollback pada Slim4.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/perangkatlunakku.com\/en\/2022\/05\/14\/slim4-tutorial-api-5-database-transaction\/\" \/>\n<meta property=\"og:site_name\" content=\"perangkatlunakku\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/groups\/perangkatlunakku\" \/>\n<meta property=\"article:published_time\" content=\"2022-05-14T09:49:01+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-12-21T07:09:48+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/perangkatlunakku.com\/wp-content\/uploads\/2022\/05\/slim4-database-transaction.png\" \/>\n\t<meta property=\"og:image:width\" content=\"300\" \/>\n\t<meta property=\"og:image:height\" content=\"300\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Prade\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:description\" content=\"Pada Slim4 Tutorial API: 5 Database Transaction, akan dibahas bagaimana menggunakan transaction, commit, dan rollback pada Slim4.\" \/>\n<meta name=\"twitter:creator\" content=\"@prangkatlunakku\" \/>\n<meta name=\"twitter:site\" content=\"@prangkatlunakku\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Prade\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/perangkatlunakku.com\/2022\/05\/14\/slim4-tutorial-api-5-database-transaction\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/perangkatlunakku.com\/2022\/05\/14\/slim4-tutorial-api-5-database-transaction\/\"},\"author\":{\"name\":\"Prade\",\"@id\":\"https:\/\/perangkatlunakku.com\/#\/schema\/person\/b2ab89d36e0aad24731c098cdff81662\"},\"headline\":\"Slim4 Tutorial API: 5 Database Transaction\",\"datePublished\":\"2022-05-14T09:49:01+00:00\",\"dateModified\":\"2022-12-21T07:09:48+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/perangkatlunakku.com\/2022\/05\/14\/slim4-tutorial-api-5-database-transaction\/\"},\"wordCount\":309,\"commentCount\":2,\"publisher\":{\"@id\":\"https:\/\/perangkatlunakku.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/perangkatlunakku.com\/2022\/05\/14\/slim4-tutorial-api-5-database-transaction\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/perangkatlunakku.com\/wp-content\/uploads\/2022\/05\/slim4-database-transaction.png\",\"keywords\":[\"fashion-store-api\",\"php-backend\",\"slim4\"],\"articleSection\":[\"Tutorial\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/perangkatlunakku.com\/2022\/05\/14\/slim4-tutorial-api-5-database-transaction\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/perangkatlunakku.com\/2022\/05\/14\/slim4-tutorial-api-5-database-transaction\/\",\"url\":\"https:\/\/perangkatlunakku.com\/2022\/05\/14\/slim4-tutorial-api-5-database-transaction\/\",\"name\":\"Slim4 Tutorial API: 5 Database Transaction - perangkatlunakku\",\"isPartOf\":{\"@id\":\"https:\/\/perangkatlunakku.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/perangkatlunakku.com\/2022\/05\/14\/slim4-tutorial-api-5-database-transaction\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/perangkatlunakku.com\/2022\/05\/14\/slim4-tutorial-api-5-database-transaction\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/perangkatlunakku.com\/wp-content\/uploads\/2022\/05\/slim4-database-transaction.png\",\"datePublished\":\"2022-05-14T09:49:01+00:00\",\"dateModified\":\"2022-12-21T07:09:48+00:00\",\"description\":\"Pada Slim4 Tutorial API: 5 Database Transaction, akan dibahas bagaimana menggunakan transaction, commit, dan rollback pada Slim4.\",\"breadcrumb\":{\"@id\":\"https:\/\/perangkatlunakku.com\/2022\/05\/14\/slim4-tutorial-api-5-database-transaction\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/perangkatlunakku.com\/2022\/05\/14\/slim4-tutorial-api-5-database-transaction\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/perangkatlunakku.com\/2022\/05\/14\/slim4-tutorial-api-5-database-transaction\/#primaryimage\",\"url\":\"https:\/\/perangkatlunakku.com\/wp-content\/uploads\/2022\/05\/slim4-database-transaction.png\",\"contentUrl\":\"https:\/\/perangkatlunakku.com\/wp-content\/uploads\/2022\/05\/slim4-database-transaction.png\",\"width\":300,\"height\":300,\"caption\":\"Slim4 Database Transaction\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/perangkatlunakku.com\/2022\/05\/14\/slim4-tutorial-api-5-database-transaction\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/perangkatlunakku.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Slim4 Tutorial API: 5 Database Transaction\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/perangkatlunakku.com\/#website\",\"url\":\"https:\/\/perangkatlunakku.com\/\",\"name\":\"perangkatlunakku\",\"description\":\"perangkatlunakku permudah kehidupan\",\"publisher\":{\"@id\":\"https:\/\/perangkatlunakku.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/perangkatlunakku.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/perangkatlunakku.com\/#organization\",\"name\":\"perangkatlunakku\",\"url\":\"https:\/\/perangkatlunakku.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/perangkatlunakku.com\/#\/schema\/logo\/image\/\",\"url\":\"\",\"contentUrl\":\"\",\"caption\":\"perangkatlunakku\"},\"image\":{\"@id\":\"https:\/\/perangkatlunakku.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/groups\/perangkatlunakku\",\"https:\/\/x.com\/prangkatlunakku\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/perangkatlunakku.com\/#\/schema\/person\/b2ab89d36e0aad24731c098cdff81662\",\"name\":\"Prade\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/perangkatlunakku.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/0ee64dbab8883b02f7f89ed14f84c1757d30944d9f72e901d2664375df425a77?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/0ee64dbab8883b02f7f89ed14f84c1757d30944d9f72e901d2664375df425a77?s=96&d=mm&r=g\",\"caption\":\"Prade\"},\"sameAs\":[\"http:\/\/perangkatlunakku.com\"],\"url\":\"https:\/\/perangkatlunakku.com\/en\/author\/pradesn\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Slim4 Tutorial API: 5 Database Transaction - perangkatlunakku","description":"Pada Slim4 Tutorial API: 5 Database Transaction, akan dibahas bagaimana menggunakan transaction, commit, dan rollback pada Slim4.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/perangkatlunakku.com\/en\/2022\/05\/14\/slim4-tutorial-api-5-database-transaction\/","og_locale":"en_US","og_type":"article","og_title":"Slim4 Tutorial API: 5 Database Transaction","og_description":"Pada Slim4 Tutorial API: 5 Database Transaction, akan dibahas bagaimana menggunakan transaction, commit, dan rollback pada Slim4.","og_url":"https:\/\/perangkatlunakku.com\/en\/2022\/05\/14\/slim4-tutorial-api-5-database-transaction\/","og_site_name":"perangkatlunakku","article_publisher":"https:\/\/www.facebook.com\/groups\/perangkatlunakku","article_published_time":"2022-05-14T09:49:01+00:00","article_modified_time":"2022-12-21T07:09:48+00:00","og_image":[{"width":300,"height":300,"url":"https:\/\/perangkatlunakku.com\/wp-content\/uploads\/2022\/05\/slim4-database-transaction.png","type":"image\/png"}],"author":"Prade","twitter_card":"summary_large_image","twitter_description":"Pada Slim4 Tutorial API: 5 Database Transaction, akan dibahas bagaimana menggunakan transaction, commit, dan rollback pada Slim4.","twitter_creator":"@prangkatlunakku","twitter_site":"@prangkatlunakku","twitter_misc":{"Written by":"Prade","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/perangkatlunakku.com\/2022\/05\/14\/slim4-tutorial-api-5-database-transaction\/#article","isPartOf":{"@id":"https:\/\/perangkatlunakku.com\/2022\/05\/14\/slim4-tutorial-api-5-database-transaction\/"},"author":{"name":"Prade","@id":"https:\/\/perangkatlunakku.com\/#\/schema\/person\/b2ab89d36e0aad24731c098cdff81662"},"headline":"Slim4 Tutorial API: 5 Database Transaction","datePublished":"2022-05-14T09:49:01+00:00","dateModified":"2022-12-21T07:09:48+00:00","mainEntityOfPage":{"@id":"https:\/\/perangkatlunakku.com\/2022\/05\/14\/slim4-tutorial-api-5-database-transaction\/"},"wordCount":309,"commentCount":2,"publisher":{"@id":"https:\/\/perangkatlunakku.com\/#organization"},"image":{"@id":"https:\/\/perangkatlunakku.com\/2022\/05\/14\/slim4-tutorial-api-5-database-transaction\/#primaryimage"},"thumbnailUrl":"https:\/\/perangkatlunakku.com\/wp-content\/uploads\/2022\/05\/slim4-database-transaction.png","keywords":["fashion-store-api","php-backend","slim4"],"articleSection":["Tutorial"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/perangkatlunakku.com\/2022\/05\/14\/slim4-tutorial-api-5-database-transaction\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/perangkatlunakku.com\/2022\/05\/14\/slim4-tutorial-api-5-database-transaction\/","url":"https:\/\/perangkatlunakku.com\/2022\/05\/14\/slim4-tutorial-api-5-database-transaction\/","name":"Slim4 Tutorial API: 5 Database Transaction - perangkatlunakku","isPartOf":{"@id":"https:\/\/perangkatlunakku.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/perangkatlunakku.com\/2022\/05\/14\/slim4-tutorial-api-5-database-transaction\/#primaryimage"},"image":{"@id":"https:\/\/perangkatlunakku.com\/2022\/05\/14\/slim4-tutorial-api-5-database-transaction\/#primaryimage"},"thumbnailUrl":"https:\/\/perangkatlunakku.com\/wp-content\/uploads\/2022\/05\/slim4-database-transaction.png","datePublished":"2022-05-14T09:49:01+00:00","dateModified":"2022-12-21T07:09:48+00:00","description":"Pada Slim4 Tutorial API: 5 Database Transaction, akan dibahas bagaimana menggunakan transaction, commit, dan rollback pada Slim4.","breadcrumb":{"@id":"https:\/\/perangkatlunakku.com\/2022\/05\/14\/slim4-tutorial-api-5-database-transaction\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/perangkatlunakku.com\/2022\/05\/14\/slim4-tutorial-api-5-database-transaction\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/perangkatlunakku.com\/2022\/05\/14\/slim4-tutorial-api-5-database-transaction\/#primaryimage","url":"https:\/\/perangkatlunakku.com\/wp-content\/uploads\/2022\/05\/slim4-database-transaction.png","contentUrl":"https:\/\/perangkatlunakku.com\/wp-content\/uploads\/2022\/05\/slim4-database-transaction.png","width":300,"height":300,"caption":"Slim4 Database Transaction"},{"@type":"BreadcrumbList","@id":"https:\/\/perangkatlunakku.com\/2022\/05\/14\/slim4-tutorial-api-5-database-transaction\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/perangkatlunakku.com\/"},{"@type":"ListItem","position":2,"name":"Slim4 Tutorial API: 5 Database Transaction"}]},{"@type":"WebSite","@id":"https:\/\/perangkatlunakku.com\/#website","url":"https:\/\/perangkatlunakku.com\/","name":"perangkatlunakku","description":"perangkatlunakku permudah kehidupan","publisher":{"@id":"https:\/\/perangkatlunakku.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/perangkatlunakku.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/perangkatlunakku.com\/#organization","name":"perangkatlunakku","url":"https:\/\/perangkatlunakku.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/perangkatlunakku.com\/#\/schema\/logo\/image\/","url":"","contentUrl":"","caption":"perangkatlunakku"},"image":{"@id":"https:\/\/perangkatlunakku.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/groups\/perangkatlunakku","https:\/\/x.com\/prangkatlunakku"]},{"@type":"Person","@id":"https:\/\/perangkatlunakku.com\/#\/schema\/person\/b2ab89d36e0aad24731c098cdff81662","name":"Prade","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/perangkatlunakku.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/0ee64dbab8883b02f7f89ed14f84c1757d30944d9f72e901d2664375df425a77?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/0ee64dbab8883b02f7f89ed14f84c1757d30944d9f72e901d2664375df425a77?s=96&d=mm&r=g","caption":"Prade"},"sameAs":["http:\/\/perangkatlunakku.com"],"url":"https:\/\/perangkatlunakku.com\/en\/author\/pradesn\/"}]}},"_links":{"self":[{"href":"https:\/\/perangkatlunakku.com\/en\/wp-json\/wp\/v2\/posts\/39","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/perangkatlunakku.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/perangkatlunakku.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/perangkatlunakku.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/perangkatlunakku.com\/en\/wp-json\/wp\/v2\/comments?post=39"}],"version-history":[{"count":0,"href":"https:\/\/perangkatlunakku.com\/en\/wp-json\/wp\/v2\/posts\/39\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/perangkatlunakku.com\/en\/wp-json\/wp\/v2\/media\/41"}],"wp:attachment":[{"href":"https:\/\/perangkatlunakku.com\/en\/wp-json\/wp\/v2\/media?parent=39"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/perangkatlunakku.com\/en\/wp-json\/wp\/v2\/categories?post=39"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/perangkatlunakku.com\/en\/wp-json\/wp\/v2\/tags?post=39"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}