我是Yii2的新手,我想知道如何在ActiveRecord中访问关系表的值

例如,我们有以下两种模型:

供应商有很多产品

产品有一个供应商

class Supplier extends ActiveRecord{

        public function getProducts(){
            return $this->hasMany(Product::className(),["supplier_id"=>"id"]);
        }
        public static function tableName(){
            return 'supplier';
        }
    }

class Product extends ActiveRecord
{
    public function getSupplier(){
        return $this->hasOne(Supplier::className(),['id'=>'supplier_id']);
    }
    public static function tableName()
    {
        return 'product';
    }
}


要访问产品数据,我使用以下代码行

$product=Product::find()->joinWith('supplier')->all();
var_dump($product);


该代码正确地为我提供了产品表的数据,但是我无法访问供应商数据值,为什么?如何访问联接表的值?

最佳答案

如果要访问联接数据,请使用asArray()

Product::find()->joinWith("supplier")->asArray()->all();

关于php - Yii2访问联接表列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35156019/

10-10 13:59