我正在尝试使用Yii2方法从DBA检索数据。我的问题是当我使用yii2查询构建器(如innerJoin)构建查询时,只返回与我开始的模型相关的列。
var $iframes = $('iframe[id^="idContenteditor_field_"]');
$iframes.each(function(index, item) {
var $iframeBody = $(item).contents().find("body");
$iframeBody.keyup(function(e) {
if ($(this).find('.content').length === 0) {
// add wrap
var bodyContent = $(this).html();
$(this).html('<div class="content">' + bodyContent + '</div>');
}
var $contentBlock = $(this).find('.content');
var bodyHeight = $contentBlock.outerHeight();
$(item).height(bodyHeight); // set real height
});
});
这是一个例子,我只收到与'CategoryOfItemsTrans'模型相关的列。我需要检索两个表的所有列。
答案 0 :(得分:0)
你正在做的是做一个查询,它将为你提供一个类型&#34; CategoryOfItemsTrans&#34;的对象数组。而你需要的不是那个。 也就是说,你正在使用&#34; find&#34;模型的方法,所以它永远不会让你回到你期望的。
如果您希望收到一些列,则必须进行简单查询。 尝试那样
$rows = (new \yii\db\Query())
->select(['ci.*', 'cit.*email'])
->from('category_of_items_trans as cit')
->innerJoin('category_of_items as
ci','category_of_items_trans.CATEGORY_OF_ITEM_ID =
category_of_items.CATEGORY_OF_ITEM_ID')
->where('category_of_items.CATEGORY_FLAG = \''.$CategoryFlag.'\' AND
category_of_items_trans.LANGUAGE_ID ='.$LanguageID)
->all();
答案 1 :(得分:0)
使用asArray(),您将获得数组结果。试试这个
$Categories = CategoryOfItemsTrans::find()
->innerJoin('category_of_items','category_of_items_trans.CATEGORY_OF_ITEM_ID = category_of_items.CATEGORY_OF_ITEM_ID')
->where('category_of_items.CATEGORY_FLAG = \''.$CategoryFlag.'\' AND category_of_items_trans.LANGUAGE_ID ='.$LanguageID)
->asArray()
->all();