我只是想使用Slim Framework和RedBeanPHP4创建一个应用程序,我使用的是mysql,数据库的名称是'test_api',使用redbeanphp创建了用空表创建的db,我们可以创建表在即时。这是我的简短代码:
<?php
require 'vendor/autoload.php';
// DB
require 'db/rb.php';
R::setup('mysql:host=localhost;dbname=test_api', 'root','mypassword');
R::freeze(true);
// SLIM
$app = new \Slim\Slim();
$app->get('/post', function () use ($app) {
$post = R::dispense('post');
$post->text = 'Hello World';
$id = R::store($post);
echo $id;
});
$app->run();
?>
但是我得到了这样的错误:
Slim Application Error
The application could not run because of the following error:
Details
Type: RedBeanPHP\RedException\SQL
Message: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'test_api.post' doesn't exist
File: /srv/http/prj/lpse2/db/rb.php
Line: 631
这里的任何人都能帮我解决这个问题吗?
答案 0 :(得分:1)
如果您仍然希望ReadBean将架构更改为(即时创建表),那么它需要处于fluid
模式。这是默认模式,但您明确更改了它R::freeze(true);
当模式设置为freeze
时,它无法修改架构。您只需在创建架构后在生产中设置R::freeze(true);
。