Size: a a a

2021 March 10

v

vladimir in OctoberCMS
https://laravel.com/docs/6.x/eloquent#observers
Событие created и вешаем через plugin -> boot на нужную модель.
источник

SR

Serge Rosolovsky in OctoberCMS
О чудно, я то искал в рускоязычной версии доки. Спс
источник

SR

Serge Rosolovsky in OctoberCMS
Эд
Можно расширить модель и прослушивать событие, здесь подробнее

Если модель ваша то событийные методы, здесь подробнее
+
источник

A

Axenia in OctoberCMS
rosolovsky (70.88) увеличил карму homoinclusive (218.8)
источник

SR

Serge Rosolovsky in OctoberCMS
vladimir
https://laravel.com/docs/6.x/eloquent#observers
Событие created и вешаем через plugin -> boot на нужную модель.
+
источник

A

Axenia in OctoberCMS
rosolovsky (70.88) увеличил карму LeMaX10 (3321.28)
источник

v

vladimir in OctoberCMS
Andreev Maksim
Приветствую всех,подскажите пожалуйста, как быть в таком случае, пытаюсь сделать сортировку вложенных отношений (specs.obects), но не получается.

    $this[ 'list' ]    = $spec->where( 'slug', $slug )->with([
   'specs' =>function($p){
           $p->isPublished()->orderBy('id', 'DESC');
         },
         'specs.obects' =>function($p){
           $p->isPublished()->orderBy('name', 'ASC')->distinct()->groupBy('id');
         }        
   ])
   ->first();
Где, specs это связь $belongsToMany. Внутри specs - obects ($belongsToMany).

В таком виде сортировка не работает, т.к. specs уже сортируется по своему. Может, как-то можно вынести в запросе из specs - "obects" и отдельно его отсортировать?
В моделе прописан только specs
так а зачем сортировка объектов если идет группировка только по id?
Для этого можно воспользоваться возможностями коллекции.
источник

AM

Andreev Maksim in OctoberCMS
vladimir
так а зачем сортировка объектов если идет группировка только по id?
Для этого можно воспользоваться возможностями коллекции.
Этот пункт (groupby) можно опустить. Откорректировал изначальную запись. Я думал можно как-то выделить коллекцию отдельно, чтобы ее отсортировать. Потому-что, до нее в другую сортировку попадает коллекция, которая стоит выше. А при таком написании кода нужная коллекция не сортируется.
источник

v

vladimir in OctoberCMS
Andreev Maksim
Этот пункт (groupby) можно опустить. Откорректировал изначальную запись. Я думал можно как-то выделить коллекцию отдельно, чтобы ее отсортировать. Потому-что, до нее в другую сортировку попадает коллекция, которая стоит выше. А при таком написании кода нужная коллекция не сортируется.
Так естетсвенно она ведь вложенная.
Можно исхитриться вот так:
$this[ 'list' ]    = $spec->where( 'slug', $slug )->with([
       'specs' =>function($p){
        $p->with(['obects' => function($p) {
                       $p->isPublished()->orderBy('name', 'ASC');
                   }])->isPublished()->orderBy('id', 'DESC');
       },
   ])
   ->first();
источник

AM

Andreev Maksim in OctoberCMS
vladimir
Так естетсвенно она ведь вложенная.
Можно исхитриться вот так:
$this[ 'list' ]    = $spec->where( 'slug', $slug )->with([
       'specs' =>function($p){
        $p->with(['obects' => function($p) {
                       $p->isPublished()->orderBy('name', 'ASC');
                   }])->isPublished()->orderBy('id', 'DESC');
       },
   ])
   ->first();
Да, думал что-то подобное, но не правильно писал вложенность функции. Но к сожалению такой вариант тоже не прошел (
Может можно, как-то вынести из этого запроса obects (из этой вложенности) вообще в отдельный запрос?
Внутри этого вложения взаимодействие по другим параметрам есть (тот же isPublished...), но как только подключаешь сюда сортировку, то никакой реакции.
источник

AM

Andreev Maksim in OctoberCMS
Может можно, как-то сделать запрос из двух моделей?  Obect и Specs и вывести допустим, в запросе Obect только те записи (по ID), которые соответствуют List.Spec.obect. И уже потом их отсортировать...
источник

AM

Andreev Maksim in OctoberCMS
В общем, добавил дополнительно коллекцию по-сути + доп. запросы получаются ...

$this[ 'Obects' ] = Obect::with('specs')->isPublished()->orderBy('name', 'asc')->get();
И вывел просто в {for obects}... for... for... (тройная вложенность фор)
{% if obects.id ==obects2.id %}
{%endif%}

понимаю, что криво, но вроде работает если так ))
источник

AM

Andreev Maksim in OctoberCMS
Igor
Использовал также с Amazon s3, также помню, что там захардкожены эндпоинты были, поэтому совместимые с s3 сторонние сервисы не получалось использовать. Рекомендую написать issue на гитхабе или в официальной группе OctoberCMS спросить. Там главный сейчас активно со всеми общается.
Игорь, спасибо, прошу прощения не сразу увидел ответ. Да попробую там посмотреть
источник

SR

Serge Rosolovsky in OctoberCMS
Как то давно спрашивал, но тогда не разобрался. Как подключить классы из ловатовского Toolbox к себе в плагин и использовать их методы в своих компонентах?
источник

Э

Эд in OctoberCMS
Serge Rosolovsky
Как то давно спрашивал, но тогда не разобрался. Как подключить классы из ловатовского Toolbox к себе в плагин и использовать их методы в своих компонентах?
Поставить плагин toolbox и наследоваться от него

В нем есть консольные команды
источник

IS

Ivan Samodurov in OctoberCMS
Кто может помочь с Shopaholic? Отправляю товар в корзину через ajax, в ответ получаю нормальный ответ
источник

IS

Ivan Samodurov in OctoberCMS
Но при запросе корзины в ответ прилетает что она пуста
источник

IS

Ivan Samodurov in OctoberCMS
С чем может быть связано?
источник

A

Alex in OctoberCMS
Ivan Samodurov
Кто может помочь с Shopaholic? Отправляю товар в корзину через ajax, в ответ получаю нормальный ответ
источник
2021 March 11

I

Igor in OctoberCMS
Ivan Samodurov
Но при запросе корзины в ответ прилетает что она пуста
Да, там есть непонятки с состоянием корзины. Я столкнулся с подобным, когда делал ограничения для методов оплаты и доставки. В итоге расширил компонент Cart своим, и пользовался не сеттерами, а собирал все данные, передавал в объект корзины и вызывал метод save(). После этого получаю доступ к актуальному состоянию корзины через CartProcessor.

Но у меня терялся контекст адреса доставки и выбранных методов оплаты/доставки. С позициями заказа вроде проблем не было.
источник