{"id":1376,"date":"2015-01-31T17:30:53","date_gmt":"2015-01-31T09:30:53","guid":{"rendered":"http:\/\/blog.turn.tw\/?page_id=1376"},"modified":"2015-01-31T17:30:53","modified_gmt":"2015-01-31T09:30:53","slug":"eloquent-crud%ef%bc%9adelete","status":"publish","type":"page","link":"https:\/\/blog.turn.tw\/?page_id=1376","title":{"rendered":"Eloquent CRUD\uff1adelete"},"content":{"rendered":"<p>Eloquent\u5982\u4f55\u522a\u9664\u4e00\u7b46\u8cc7\u6599\u5462\uff1f<\/p>\n<pre>\r\n$user = User::find(1);\r\n\r\n$user->delete();\r\n<\/pre>\n<pre>\r\n\t\/**\r\n\t * Delete the model from the database.\r\n\t *\r\n\t * @return bool|null\r\n\t * @throws \\Exception\r\n\t *\/\r\n\tpublic function delete()\r\n\t{\r\n\t\tif (is_null($this->primaryKey))\r\n\t\t{\r\n\t\t\tthrow new \\Exception(\"No primary key defined on model.\");\r\n\t\t}\r\n\r\n\t\tif ($this->exists)\r\n\t\t{\r\n\t\t\tif ($this->fireModelEvent('deleting') === false) return false;\r\n\r\n\t\t\t\/\/ Here, we'll touch the owning models, verifying these timestamps get updated\r\n\t\t\t\/\/ for the models. This will allow any caching to get broken on the parents\r\n\t\t\t\/\/ by the timestamp. Then we will go ahead and delete the model instance.\r\n\t\t\t$this->touchOwners();\r\n\r\n\t\t\t$this->performDeleteOnModel();\r\n\r\n\t\t\t$this->exists = false;\r\n\r\n\t\t\t\/\/ Once the model has been deleted, we will fire off the deleted event so that\r\n\t\t\t\/\/ the developers may hook into post-delete operations. We will then return\r\n\t\t\t\/\/ a boolean true as the delete is presumably successful on the database.\r\n\t\t\t$this->fireModelEvent('deleted', false);\r\n\r\n\t\t\treturn true;\r\n\t\t}\r\n\t}\r\n<\/pre>\n<pre>\r\n\t\/**\r\n\t * Perform the actual delete query on this model instance.\r\n\t *\r\n\t * @return void\r\n\t *\/\r\n\tprotected function performDeleteOnModel()\r\n\t{\r\n\t\t$this->newQuery()->where($this->getKeyName(), $this->getKey())->delete();\r\n\t}\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Eloquent\u5982\u4f55\u522a\u9664\u4e00\u7b46\u8cc7\u6599\u5462\uff1f $user = User::find(1); $user->delete &hellip; <a href=\"https:\/\/blog.turn.tw\/?page_id=1376\" class=\"more-link\">\u7e7c\u7e8c\u95b1\u8b80 <span class=\"screen-reader-text\">Eloquent CRUD\uff1adelete<\/span> <span class=\"meta-nav\">&rarr;<\/span> <\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"open","ping_status":"open","template":"","meta":{"_mi_skip_tracking":false},"_links":{"self":[{"href":"https:\/\/blog.turn.tw\/index.php?rest_route=\/wp\/v2\/pages\/1376"}],"collection":[{"href":"https:\/\/blog.turn.tw\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/blog.turn.tw\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/blog.turn.tw\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.turn.tw\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1376"}],"version-history":[{"count":1,"href":"https:\/\/blog.turn.tw\/index.php?rest_route=\/wp\/v2\/pages\/1376\/revisions"}],"predecessor-version":[{"id":1377,"href":"https:\/\/blog.turn.tw\/index.php?rest_route=\/wp\/v2\/pages\/1376\/revisions\/1377"}],"wp:attachment":[{"href":"https:\/\/blog.turn.tw\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1376"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}