Solar Model数据库操作之删除数据
Solar_Sql_Model::delete()删除数据
actionDelete($id):
方法Solar_Sql_Model::delete($where)
中的参数$where可能有两种形式,分别是字符串型和数组型的条件语句,你可以选择你喜欢的形式。
注意
- 这里要分别删除文章和文章的内容,不能通过一条语句进行删除!
- 该方法返回的是删除记录的条数,删除不成功返回0。
- 该方法可以通过条件删除多条记录。
Solar_Sql_Model_Record::delete()删除一条记录
actionDelete2($id):
要得到Solar_Sql_Model_Record类的对象必须调用Solar_Sql_Model::fetch()或其它方法,再调用该类的delete()方法,所以这种形式的删除数据首先要查询数据再删除,所以这种方法速度比较慢点。
注意
-
$item->delete()
返回为NULL,必须通过$item->isDelete()
方法来判断是否已删除数据。 - 这种方法也不能同时将article与content删除,必须分两步删除。
也可以通过多表联合查询方法将content也查询出来再进行删除操作,源码如下:
Solar_Sql_Model_Collection::deleteOne()删除一条记录
actionDelete()源码:
通过$list = $this->_model->articles->fetchAll(array('order' => array('id')))
得到了articles的全部数据,使用$list->deleteOne(0)
就删除$list
中的第一条记录了。 注意 deleteOne()
方法返回为NULL
Solar_Sql_Model_Collection::deleteAll()删除多条记录
actionDelete()源码:
使用`$this->list->deleteAll()就删除了所有记录,该方法返回的也是为空。