コード例 #1
0
ファイル: Customer.php プロジェクト: sciurodont/yii2
 public function getOrderItems()
 {
     /** @var ActiveQuery $rel */
     $rel = $this->hasMany(Item::className(), ['id' => 'item_id']);
     return $rel->viaTable('order_item', ['order_id' => 'id'], function ($q) {
         /** @var ActiveQuery $q */
         $q->viaTable('order', ['customer_id' => 'id']);
     })->orderBy('id');
 }
コード例 #2
0
ファイル: ActiveRecordTest.php プロジェクト: howq/yii2
 public function testDeeplyNestedTableRelation()
 {
     /* @var $customer Customer */
     $customer = Customer::findOne(1);
     $this->assertNotNull($customer);
     $items = $customer->orderItems;
     $this->assertEquals(2, count($items));
     $this->assertInstanceOf(Item::className(), $items[0]);
     $this->assertInstanceOf(Item::className(), $items[1]);
     $this->assertEquals(1, $items[0]->id);
     $this->assertEquals(2, $items[1]->id);
 }