0
我是新來Yii2我想知道如何訪問ActiveRecord的關係表中的值Yii2訪問連接表列
比如我們有這2種型號:
供應商有很多產品
產品都有一個供應商
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);
此代碼正確地給出了產品表的數據,但我無法訪問供應商數據值,爲什麼?如何訪問連接表的值?
'$ product-> supplier'的相關數據。 – ineersa
@ineersa試過它供應商是私人的 –
Ofcourse它是私人的,也在陣列。當你寫'$ product-> supplier'並且這個屬性不存在時'__get()'方法將調用'getSupplier()'方法。 Yii就是這樣的(吸氣者)。 – ineersa