Я использую GitHub - jenssegers / laravel-mongodb: модель Eloquent на основе MongoDB и построитель запросов для Laravel;
В моем проекте Laravel я создал модель БД, которая задает имя таблицы модели динамически (в коллекции случаев Mongodb).
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();