Size: a a a

2020 September 23

v

vladimir in OctoberCMS
за код извиняюсь, с телефона, могу где-то кавычки не верно поставить
источник

S

Serg in OctoberCMS
Всё равно на sync ругается, если что это плагин offline.mall
источник

v

vladimir in OctoberCMS
Serg
Всё равно на sync ругается, если что это плагин offline.mall
такая же ошибка ? undefined?
источник

S

Serg in OctoberCMS
ага
источник

v

vladimir in OctoberCMS
Тогда надо по сложнее идти. Разделить связи на типы и по типам уже смотреть что делать add, attach, sync методы
источник

v

vladimir in OctoberCMS
для morphMany, belongsToMany должен идти attach, sync, для остальных add должен подойти
источник

S

Serg in OctoberCMS
там hasMany
источник

Р

Ростислав in OctoberCMS
vladimir
Надо проверять что за связь, sync для many-to-many работает.
Возможно тебе нужна просто add.


тогда получается что-то вроде:
$clone = $model->load({Связи для дублирования})->replicate();
$clone->push();

foreach ($clone->getRelations() as $relationName => $relationValue){
   if (empty($relationValue)) {
       continue;
   }

   if ($relationValue instanceof \Illuminate\Database\Eloquent\Collection) {
   $clone->{$relationName}()->sync($relationValue->all());
   }
   
   if ($relationValue instanceof \Illuminate\Database\Eloquent\Model) {
       $clone->{$relationName}()->add($relationValue);
   }
}
Да епт, я часто гуглю синтаксис whereHas, а ты такое с телефона пишешь 😌
источник

v

vladimir in OctoberCMS
Serg
там hasMany
Тогда add должен сработать)
источник

S

Serg in OctoberCMS
vladimir
Тогда add должен сработать)
тоже не работает)))
источник

v

vladimir in OctoberCMS
Serg
тоже не работает)))
Ахах... Странно однако) мне теперь даже интересно. Я раньше просто replicate->push юзал...
источник

v

vladimir in OctoberCMS
Какая с ним ошибка? Попробуй в него передать ->all() от коллекции
источник

S

Serg in OctoberCMS
При add() вот такое возвращает:


"Type error: Argument 1 passed to October\Rain\Database\Relations\HasMany::add() must be an instance of Illuminate\Database\Eloquent\Model, array given, called in D:\workspace\projects\outer\oc-nlv-web\plugins\offline\mall\controllers\Orders.php on line 211" on line 56 of D:\workspace\projects\outer\oc-nlv-web\vendor\october\rain\src\Database\Relations\HasOneOrMany.php
источник

v

vladimir in OctoberCMS
Serg
При add() вот такое возвращает:


"Type error: Argument 1 passed to October\Rain\Database\Relations\HasMany::add() must be an instance of Illuminate\Database\Eloquent\Model, array given, called in D:\workspace\projects\outer\oc-nlv-web\plugins\offline\mall\controllers\Orders.php on line 211" on line 56 of D:\workspace\projects\outer\oc-nlv-web\vendor\october\rain\src\Database\Relations\HasOneOrMany.php
Ааа... saveMany для hasMany попробуй )
источник

S

Serg in OctoberCMS
Заработало но он перезаписал id связанной модели...
источник

S

Serg in OctoberCMS
то есть он отвязал продукт от предидущего заказа к новому, а по идее должен создать новую связь
источник

A

Alex in OctoberCMS
Ростислав
Да епт, я часто гуглю синтаксис whereHas, а ты такое с телефона пишешь 😌
я тоже немного прифигел такой кусок с телефона
источник

Р

Ростислав in OctoberCMS
Alex
я тоже немного прифигел такой кусок с телефона
Тут если название своего плагина и модели вспомнил и то хорошо )
источник

A

Alex in OctoberCMS
Ростислав
Тут если название своего плагина и модели вспомнил и то хорошо )
хахахах
источник

Р

Ростислав in OctoberCMS
У меня разработка начинается из запроса в Гугле: "octobercms install console" 😁
источник