gpt4 book ai didi

php - Yii Framework - ActiveRecord 不返回连接表的数据

转载 作者:行者123 更新时间:2023-11-30 22:35:36 25 4
gpt4 key购买 nike

Yii Framework 真的很棒,但是我在使用 Active Record 从 MySQL 数据库查询数据时遇到了问题。

当我在模型构建中的函数“get”中加入 2 个表(“building”和“building_info”)时,第二个表将不会返回任何数据。如果我使用查询类执行相同的查询,将返回两个表中的行。使用 Active Record,我只能从表“building”中获取数据。

模型构建:

...
// Setting Relation
public function getBuildingInfos()
{
return $this->hasMany(BuildingInfo::className(), ['BuildingID' => 'ID']);
}

// Get all buildings
public function get() {
$building = Building::find()
->joinWith('buildingInfos')
->where(['building_info.langID' => 1])
->all();

return $building;
}
// Attributes
public function attributeLabels()
{
return [
'ID' => 'ID',
'NameBreak' => 'Name Break',
'Tileset' => 'Tileset',
'TilesetPosition' => 'Tileset Position',
...
]
}
...

模型构建信息:

...
public function attributeLabels()
{
return [
'buInfoID' => 'Bu Info ID',
'BuildingID' => 'Building ID',
'langID' => 'Lang ID',
'Name' => 'Name',
'ShortDesc' => 'Short Desc',
'ShortDescDisabled' => 'Short Desc Disabled',
];
}
public function getBuilding()
{
return $this->hasOne(Building::className(), ['ID' => 'BuildingID']);
}
...

你知道如何解决这个问题吗?

谢谢凯文

最佳答案

再见,凯文 :) 您使用的是 yii1 还是 yii2?

在“getBuildingInfos”中,表格由 BuidingID 链接,在您的 get 函数中,您通过 building_info.langID 链接它。您是否已验证您的连接在 sql 中有效?

关于php - Yii Framework - ActiveRecord 不返回连接表的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32631782/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com