或者我们可以这样做吗?当你说:
$book = R::dispense('books');
只需使用 RedBean_IModelFormatter 处理命名还是我遗漏了什么?谢谢。
你可以这样做,但它会变得混乱并且看起来不太好。标准约定是非复数表名,以便在分发书籍和存储书籍以及关系映射时更有意义。想象一下,如果您将执行以下操作:
$book=R::dispense('books');
$book->title='War and Peace';
$pageOne=R::dispense('pages');
$pageOne->number=1;
$pageTwo=R::dispense('pages');
$pageTwo->number=2;
$book->ownPages=array($pageOne,$pageTwo);
R::store($book);
看起来不错。现在假设我们加载一个页面并去获取相关的书:
$page=R::load('pages',1);
echo $page->books->title;
这没有多大意义,也不太适合 RedBean 所追求的。同样,你可以做到。如果您已经设置了数据库,则可能不想进行这些更改。同样,这完全取决于您的决定以及您要完成的工作。如果只有你,那就随便吧。如果您在一个小组中工作,重命名表格可能更有意义,以便您的工作更清晰。