はOK、私は1つの解決策を見つけました。私は自分の "Model Formatter"を設定することができます。これは、テーブルの名前とクラスの名前を結ぶ責任を持つクラスを作成できることを意味します。マイRedBeanセットアップコードは次のようになります。
# Redbean
require('vendor/redbean/rb.php');
R::setup("mysql:host=".MYSQL_HOST.";dbname=".MYSQL_DATABASE.";",
MYSQL_USERNAME, MYSQL_PASSWORD);
# Set custom model formatter
class CustomRedBeanModelFormatter implements RedBean_IModelFormatter
{
public function formatModel($model)
{
switch($model)
{
case foo\bar\OmniDataManager::TABLE_DATA:
return 'foo\bar\OmniDataModel';
case foo\bar\OmniDataManager::TABLE_GROUP:
return 'foo\bar\OmniDataGroupModel';
default:
return false;
}
}
}
$customRedBeanModelFormatter = new CustomRedBeanModelFormatter();
RedBean_ModelHelper::setModelFormatter($customRedBeanModelFormatter);
それは醜いソリューションのビットです。私はしばらくの間、正しい答えとしてこれをマークするにはオフに保持されますそのため
RedBean_ModelHelper::setModelForTable($modelName, $tableName);
:私はむしろこのような何かを行うことができるだろう。