我有一个名为source_message的表,我想显示一个名为translation的列,该列来自另一个名为message的表,该表没有模型。我想我可以只执行一个连接并输出值,但它不起作用。
public function actionIndex() {
$searchModel = new Translations();
$searchModel->load(Yii::$app->request->queryParams);
$query = $searchModel->find()->select('source_message.*, message.*')->innerJoin('message', 'source_message.id = message.id');
return $this->render('index', [
'searchModel' => $searchModel,
'dataProvider' => new yii\data\ActiveDataProvider(['query' => $query]),
]);
}
在我看来,我有:
<?= GridView::widget([
'dataProvider' => $dataProvider,
'filterModel' => $searchModel,
'columns' => [
'id'
'message.translation',
]
]) ?>
所有关于这个主题的帖子都是关于连接有模型的表的。但是我不需要一个模型来连接消息表。我也试过用一个模型来连接,但是它也不起作用。我做错了什么?
1条答案
按热度按时间mbzjlibv1#
请在视图中尝试以下代码
从模型访问关系,从关系访问属性,这适用于hasOne关系,但您需要在模型内部创建关系