У меня есть несколько таблиц ссылок, которые были созданы Redbean - каждый из них был создан в результате следующего типа кода;
//generates tag_video table
$tags = R::findAll('tag');
$video = R::dispense('video');
$video->sharedTag = $tags;
R::store($video);
//generates image_tag table
$image = R::dispense('image');
$image->sharedTag = $tags;
R::store($image);
//generates document_tag table
$document = R::dispense('document');
$document->sharedTag = $tags;
R::store($document);
Большинство моих биновых таблиц ссылок называются image_tag, document_tag. Но у меня также есть tag_video, что является проблемой. Я бы предпочел video_tag.
Я хотел бы иметь возможность предсказать имена таблиц ссылок, потому что я хочу использовать их в JOIN в течение нескольких раз, когда я запрашиваю базу данных напрямую, а не используя ORM.
Есть ли правило? Возможно ли это в алфавитном порядке? Могу ли я настаивать на том, что тип "родительский" будет первым в имени таблицы?
С тех пор я обнаружил, что таблицы ссылок всегда называются в алфавитном порядке.
Вот ответ от разработчика.
Таблицы всегда называются в алфавитном порядке. К сожалению, учитывая тот факт, что RB стремится к нулю, не рекомендуется применять соглашение об именах. RedBeanPHP позволяет изменять большинство правил политики схемы, но я рекомендую не делать этого, потому что это сломает вещи и победит цель RB althoghether.
Если вы не хотите постоянно пытаться запомнить, что, черт возьми, bean назвал таблицу, R::xdispense
Потому что тогда вы можете использовать символы подчеркивания и структурировать свои данные по своему усмотрению; в то же время используя базовую функциональность CRUD.