Blame view

artweb/artbox-core/behaviors/ManyToManyBehavior.php 819 Bytes
326af919   mzavalniuk   add artbox-core t...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
  <?php
      
      namespace artbox\core\behaviors;
      
      use yii\base\Behavior;
      use yii\db\ActiveRecord;
      
      /**
       * Class ManyToManyBehavior
       *
       * @package artbox\catalog\behaviors
       */
      class ManyToManyBehavior extends Behavior
      {
          /**
           * @param string         $name
           * @param ActiveRecord[] $models
           * @param array          $extraColumns
           */
          public function linkMany(string $name, array $models, array $extraColumns = [])
          {
              /**
               * @var ActiveRecord $owner
               */
              $owner = $this->owner;
              
              $owner->unlinkAll($name, true);
              
              foreach ($models as $model) {
                  $owner->link($name, $model, $extraColumns);
              }
          }
      }