我使用的是GitHub - jenssegers/laravel-mongodb:基于MongoDB的Laravel语言模型及查询生成器在我的Laravel项目中,我创建了动态设置Model表名的DB模型(在Mongodb case集合中)。
use Jenssegers\Mongodb\Eloquent\Model as Eloquent;
class DbData extends Model
{
protected $collection = 'default_collection';
function __construct($collection)
{
$this->collection = $collection;
}
}
当我为数据插入创建新的DbData对象时,这是有效的:
$data = new DbData('dynamic_collection_name');
$data->variable = 'Test';
$data->save();
但是这个解决方案还不足以让我使用这个DbData模型从我的数据库中查询数据。我想要实现的是增加为DbModel传递变量的可能性,例如:
$data = DbData::setCollection('dynamic_collection_name');
$data->get();
2条答案
按热度按时间dbf7pr2w1#
你也许可以在你的课上做这样的事情。
这将允许您调用
DbData::setCollection('collection_name')
,并且只为该特定示例设置集合名称。vq8itlhq2#
这将允许您调用DbData::setCollection('collection_name'),并且仅为该特定示例设置集合名称
我用Laravel 8和9进行了测试