Кто-то из форумчан пользуется 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'])
как-то так.