我正在使用RedBean PHP进行测试,我非常喜欢它,但是我不知道如何截断表格。我可以获取所有bean并删除它们,但这看起来很麻烦。
答案 0 :(得分:6)
在RedBean 1.3中,您可以使用R :: wipe($ type)截断表。
答案 1 :(得分:2)
RedBean只是一个ORM工具(AFAIK),因此如果您的后端数据库是基于SQL的,您只需执行以下SQL语句:TRUNCATE TABLE yourTable;
直接通过RedBean执行查询
适配器是与RedBean数据库通信的类。这个适配器 使得执行查询以操纵数据库成为可能。得到一个这样的例子 适配器使用:
$adapter = $toolbox->getDatabaseAdapter();
来自http://www.redbeanphp.com/downloads/redbean.pdf - 1.3 http://www.redbeanphp.com/manual/manual.pdf - 2.0
答案 2 :(得分:1)
像这样擦拭一张桌子:
R::wipe($table);
擦除MySQL架构中的所有表,如下所示:
function CleanAllTables() {
$tables = R::getCol(' show tables ');
foreach ($tables as $table) {
R::wipe($table);
}
}
<强> MySQL的:强>
TRUNCATE TABLE <table_name>
使用 RedBean适配器
执行$adapter->exec('TRUNCATE TABLE <table_name>');
这应该可以胜任! :)
答案 3 :(得分:0)
老问题,但是对于它的价值,RedBean 4.0+(以及可能的旧版本)在使用各种N-M关系映射时会使用外键。
因此,在这种情况下,在我的情况下,为了解决这个问题,有必要将外键检查设置为0。
R::exec('SET FOREIGN_KEY_CHECKS = 0;');
R::wipe('tablename');