yii2. Mongo AR SubDocument[Обсуждение]

Выкладываем свои наработки
Ответить
Аватара пользователя
kmddm
Сообщения: 122
Зарегистрирован: 2010.06.10, 15:41

yii2. Mongo AR SubDocument[Обсуждение]

Сообщение kmddm »

Привет всем.
Кто-то из форумчан пользуется mongo active record?
У меня есть желание написать библиотеку, которая поможет реализовать более простую работу с subdocuments в монго.
Если почитать документацию http://www.yiiframework.com/doc-2.0/ext ... -documents
то текущая версия не поддериживает "поддокументов" и предлагает хранить денормализированные данные.

В общем я для своего проекта реализовал этот функционал и если он кому-то кроме меня нужен, то я уделю время и сделаю релиз.
Как это выглядит.

Например: мы хотим хранить комментарии к товару в одном документе, но при этом пользоваться удобствами AR.
Как будут выглядеть наши модели:

Код: Выделить всё

class Comment extends ActiveRecord
{
    public function attributes()
    {
        return ['_id', 'user', 'date', 'text'];
    }

    public function rules()
    {
     .....
    }
}

class Product extends ActiveRecord
{
    ...
    public function behaviors()
    {
        return [
             [
                 class => SubDocumentBehavior::className(),
                 'key' => 'comments',
                 'model' => '\models\Comment'
             ]
       ];
    }
    ...
}
после подключения поведения для модели товара будут доступны новые методы:
getComments()
addComment()
removeComment()
findComments(['user_id'=>'abc123'])

как-то так.
Платформа для создания интернет магазинов на Yii - EximusCommerce
yii-admin - автоадминка для любимого фреймворка. https://github.com/firstrow/yiiadmin
Write, share and run php code from browser http://php-fu.com
Ekstazi
Сообщения: 1428
Зарегистрирован: 2009.08.20, 22:54
Откуда: Молдова, Бельцы
Контактная информация:

Re: yii2. Mongo AR SubDocument[Обсуждение]

Сообщение Ekstazi »

Вещь будет однозначно полезная. Надо делать.
Ответить