public function testArrayAttributeRelationUnLink() { /* @var $order Order */ $order = Order::find()->where(['id' => 1])->one(); $items = $order->itemsByArrayValue; $this->assertEquals(2, count($items)); $this->assertTrue(isset($items[1])); $this->assertTrue(isset($items[2])); $item = Item::get(2); $order->unlink('itemsByArrayValue', $item); $this->afterSave(); $items = $order->itemsByArrayValue; $this->assertEquals(1, count($items)); $this->assertTrue(isset($items[1])); $this->assertFalse(isset($items[2])); // check also after refresh $this->assertTrue($order->refresh()); $items = $order->itemsByArrayValue; $this->assertEquals(1, count($items)); $this->assertTrue(isset($items[1])); $this->assertFalse(isset($items[2])); }