Size: a a a

2020 January 17

MD

Max Dubovsky in OctoberCMS
Валентин Дубков
В Вашу модель products добавьте фильтр scope.

public function scopeUser(Builder $query, int $user_id)
   {
       return $query->whereHas('users', function (Builder $query) use ($user_id) {
           $query->where('id', '=', $user_id);
       });
   }
я наверное не так все разьяснил, мне нужно что бы из множества product.users получить pivot данные только одного конкретного юзера. в sql как то можно было сделать select внутри select-a , как в ellequent это сделать фиг знает, примеров пока не видел. Но я сделаю подругому. Сделаю обратный relation user.products и буду фетчить модель user получая все юзерские products, и вторым query выберу все products , затем наверное сопоставлю два массива(обьекта)
источник

S

SemasPing in OctoberCMS
Max Dubovsky
А еще можешь попробовать посмотреть где именно храниться project.id и попробовать его в базу руками засунуть, посмотреть что получится с updates
+
даже если все обновления включены
автоматического обновления не происходит.
Спасибо.
источник

A

Axenia in OctoberCMS
Semasping (0) увеличил карму Max (22.61)
источник

MD

Max Dubovsky in OctoberCMS
А кто знает чем отличается

//Extending RainLab.Blog Plugins Controller
       PostsController::extend(function($controller){
           // $controller->relationConfig  =  '$/max/xxxxxx/controllers/blogextension/config_relation.yaml';
           
           $controller->addDynamicProperty('relationConfig', '$/max/xxxxxx/controllers/blogextension/config_relation.yaml');

           if(!isset($controller->implement['Backend.Behaviors.RelationController'])){
               $controller->implement[] = 'Backend.Behaviors.RelationController';
           }
       });


       //Extending RainLab.User Plugins Controller
       UsersController::extend(function($controller){
           if(!isset($controller->implement['Backend.Behaviors.RelationController']))
               $controller->implement[] = 'Backend.Behaviors.RelationController';

           $controller->relationConfig  =  '$/max/xxxxxx/controllers/usersextension/config_relation.yaml';
       });

т.е $controller->addDynamicProperty()
от простого: $controller->relationConfig = '/conf.yaml';

Для блогов только addDynamicProperty работает, но для users работает просто
источник

PL

Pavel Lautsevich 🇧🇾 in OctoberCMS
Лже Артемий
ну ок, Ксения, тебе лучше знать
источник

A

Alex in OctoberCMS
Max Dubovsky
А кто знает чем отличается

//Extending RainLab.Blog Plugins Controller
       PostsController::extend(function($controller){
           // $controller->relationConfig  =  '$/max/xxxxxx/controllers/blogextension/config_relation.yaml';
           
           $controller->addDynamicProperty('relationConfig', '$/max/xxxxxx/controllers/blogextension/config_relation.yaml');

           if(!isset($controller->implement['Backend.Behaviors.RelationController'])){
               $controller->implement[] = 'Backend.Behaviors.RelationController';
           }
       });


       //Extending RainLab.User Plugins Controller
       UsersController::extend(function($controller){
           if(!isset($controller->implement['Backend.Behaviors.RelationController']))
               $controller->implement[] = 'Backend.Behaviors.RelationController';

           $controller->relationConfig  =  '$/max/xxxxxx/controllers/usersextension/config_relation.yaml';
       });

т.е $controller->addDynamicProperty()
от простого: $controller->relationConfig = '/conf.yaml';

Для блогов только addDynamicProperty работает, но для users работает просто
Одно добавляет функцию в контроллер другое указывает адрес файла с описанием связей для рендера в админке. Разные вещи просто
источник

MD

Max Dubovsky in OctoberCMS
@Alex +
источник

ВД

Валентин Дубков in OctoberCMS
Alex
Одно добавляет функцию в контроллер другое указывает адрес файла с описанием связей для рендера в админке. Разные вещи просто
Может быть объявляет свойство, а не функцию?
источник

A

Alex in OctoberCMS
Валентин Дубков
Может быть объявляет свойство, а не функцию?
dynamicPropery в данном случае фунция, например getNameAttribute() { return $this->title; }
источник

A

Alex in OctoberCMS
а вот вызов её будет $model->name;
источник

A

Alex in OctoberCMS
именно оно и есть dynamic property
источник

ВД

Валентин Дубков in OctoberCMS
Просто оставлю это для людей которые не читают доки)
источник

ВД

Валентин Дубков in OctoberCMS
Выдвижные конструкторы
Любой класс, который использует Extendableили ExtendableTraitможет иметь свой конструктор расширен с помощью статического extendметода. Аргумент должен передать замыкание, которое будет вызвано как часть конструктора класса.

MyNamespace\Controller::extend(function($controller) {
   //
});
Динамическое объявление свойств
Свойства могут быть объявлены на расширяемом объекте путем вызова addDynamicPropertyи передачи имени свойства и значения.

Post::extend(function($model) {
   $model->addDynamicProperty('tagsCache', null);
});
источник

ВД

Валентин Дубков in OctoberCMS
И есть блок примечания:

Примечание: попытка установить необъявленные свойства с помощью метода normal means ($this->foo = 'bar';) на объекте, реализующем метод October\Rain\Extension\ExtendableTrait, не будет работать. Он не будет выдавать исключение, но он также не будет автоматически объявлять свойство. addDynamicPropertyдолжен быть вызван для установки ранее незаявленных свойств на расширяемые объекты.
источник

ВД

Валентин Дубков in OctoberCMS
На основании выше написанного можно сделать вывод:

$controller->relationConfig  =  '$/max/xxxxxx/controllers/usersextension/config_relation.yaml';
Данная конструкция работает у user потому, что у user в контроллере уже из коробки объявлено свойство $relationConfig.
источник

ВД

Валентин Дубков in OctoberCMS
В то время как у блога нет такого свойства и его нужно объявить вызвав addDynamicProperty
источник

A

Alex in OctoberCMS
Валентин Дубков
Просто оставлю это для людей которые не читают доки)
да, вы правы, всегда добавлял свойства делая гэттеры и сэттеры с помощью addDynamicMethod, о нём и подумал), сорри за то что ввёл в заблуждение
источник

M

MihailBishkek in OctoberCMS
ребят
источник

M

MihailBishkek in OctoberCMS
а валидатор unique работает чтоли когда поле deleted_at даже есть?
источник

ВД

Валентин Дубков in OctoberCMS
MihailBishkek
а валидатор unique работает чтоли когда поле deleted_at даже есть?
А почему он должен не работать?
источник