RedBeanPHP:只有前两个商店功能有效

RedBeanPHP: Only first two store functions work

我目前正在使用 redbeanphp 编写一些 php 代码,这些代码应该使用四个不同的 R::store 函数将数据存储到数据库 tables 中,但只有第一个两个工作,我不知道为什么其他两个不工作,因为我没有拼写错误,如果我尝试用 R::storeAll 来做,它也只适用于前两个对象。

我的代码:

require "rb.php";

R::setup('mysql:host=localhost;dbname=building_framework', 'root', '');

// Books table
$books1 = R::dispense('books');

$books1->title = "Wonders of the world";
$books1->author_id = "1";
$books1->publisher_id = "1";

$books2 = R::dispense('books');

$books2->title = "Math for dummy's";
$books2->author_id = "1";
$books2->publisher_id = "1";

// Author table
$author = R::dispense('author');

$author->id = "1";
$author->author = "Francesco Boccia";

// Publisher table
$publisher = R::dispense('publisher');

$publisher->id = "1";
$publisher->publisher = "Metro Books";

$store1 = R::store($books1);
$store2 = R::store($books2);
$store3 = R::store($author);
$store4 = R::store($publisher);

echo $store1;
echo $store2;
echo $store3;
echo $store4;

当我执行它时,所有 table 都已生成,但仅在 books table 中存储了数据,而其他两个未存储数据。有人可以帮我解决这个问题吗?

我知道我的错误。我为 authorpublisher 添加了一个 id 但是 id 是由 redbean 本身添加的,所以没有必要。