Example #1
0
 public function prepareData()
 {
     $d = new T1();
     $d->t1_id = 1;
     $d->t2_id = 1;
     $d->save();
     $d = new T2();
     $d->t2_id = 1;
     $d->hello_id = 10;
     $d->save();
     for ($i = 0; $i < 10; $i++) {
         $t3 = new T3();
         $t3->hello_id = 10;
         $t3->save();
     }
 }
 /**
  * @return \yii\db\ActiveQuery
  */
 public function getT2()
 {
     return $this->hasOne(T2::className(), ['col_id' => 'col_id']);
 }
Example #3
0
<?php

trait T
{
    static function foo()
    {
        echo "I'm in class " . get_class() . "\n";
    }
}
class C
{
    use T;
}
class D extends C
{
}
trait T2
{
    use T;
}
trait T3
{
    use T2;
}
$x = new D();
$x->foo();
C::foo();
D::foo();
T::foo();
T2::foo();
T3::foo();
 public function testForAutoIncrement()
 {
     $t1 = new T1(true);
     $primaryKey = key($t1->getPrimaryKey(true));
     $this->assertNotContains($primaryKey, json_encode($t1->rules()));
     $t1->attributes = Data::$dataForNotNullColumnsArray;
     $t1->attributes = Data::$dataDefaultSQLValidForNotNullColumnsArray;
     $t1->attributes = Data::$dataStrictSQLValidForNotNullColumnsArray;
     $t1->attributes = Data::$dataPrimaryKeyArray;
     $result = $t1->save();
     $this->assertCount(0, $t1->getErrors());
     $t2 = new T2(false);
     $primaryKey = key($t2->getPrimaryKey(true));
     $this->assertContains($primaryKey, json_encode($t2->rules()));
     $t1->attributes = Data::$dataForNotNullColumnsArray;
     $t1->attributes = Data::$dataDefaultSQLValidForNotNullColumnsArray;
     $t1->attributes = Data::$dataStrictSQLValidForNotNullColumnsArray;
     $t1->attributes = Data::$dataPrimaryKeyArray;
     $result = $t1->save();
 }