- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 findBySql() 从数据库中获取数据,我想用表格显示 View 中的数据。
这是我 Controller 上的代码:
$sql = "SELECT presensi.presensi_tanggal 'tanggal', sum(if( hadir.keteranganhadir_id='1',1,0)) 'hadir', sum(if( hadir.keteranganhadir_id='2',1,0)) 'tidak_hadir', count(*) 'total' FROM hadir, keteranganhadir, presensi where hadir.keteranganhadir_id = keteranganhadir.keteranganhadir_id and hadir.presensi_id = presensi.presensi_id group by presensi.presensi_tanggal";
$model = Hadir::findBySql($sql)->all();
return $this->render('index', [
'hadir' => $model,
]);
所以,我想显示“tanggal”、“hadir”、“tidak hadir”和“total”。
在我看来,
<?php foreach($hadir as $data): ?>
<tr>
<td></td>
<td class="tbl_column_name"><?=$data->tanggal;?></td>
<td class="tbl_column_name"><?=$data->hadir;?></td>
<td class="tbl_column_name"><?=$data->tidak_hadir;?></td>
<td class="tbl_column_name"><?=$data->total;?></td>
<td><a href="kehadiran/view?id=1">Lihat</a></td>
</tr>
<?php endforeach; ?>
但是,我得到了这样的错误未知属性 – yii\base\UnknownPropertyException获取未知属性:common\models\data\Hadir::tanggal。那么,问题是什么,我该怎么办?谢谢~
[编辑]
哈迪尔模型:
<?php
namespace common\models\data;
use Yii;
/**
* This is the model class for table "hadir".
*
* @property integer $ADIKBINAAN_ID
* @property integer $PRESENSI_ID
* @property integer $KETERANGANHADIR_ID
*
* @property Adikbinaan $aDIKBINAAN
* @property Presensi $pRESENSI
*/
class Hadir extends \yii\db\ActiveRecord
{
/**
* @inheritdoc
*/
public static function tableName()
{
return 'hadir';
}
/**
* @inheritdoc
*/
public function rules()
{
return [
[['ADIKBINAAN_ID', 'PRESENSI_ID', 'KETERANGANHADIR_ID'], 'required'],
[['ADIKBINAAN_ID', 'PRESENSI_ID', 'KETERANGANHADIR_ID'], 'integer']
];
}
/**
* @inheritdoc
*/
public function attributeLabels()
{
return [
'ADIKBINAAN_ID' => 'Adikbinaan ID',
'PRESENSI_ID' => 'Presensi ID',
'KETERANGANHADIR_ID' => 'Keteranganhadir ID',
];
}
/**
* @return \yii\db\ActiveQuery
*/
public function getADIKBINAAN()
{
return $this->hasOne(Adikbinaan::className(), ['ADIKBINAAN_ID' => 'ADIKBINAAN_ID']);
}
/**
* @return \yii\db\ActiveQuery
*/
public function getPRESENSI()
{
return $this->hasOne(Presensi::className(), ['PRESENSI_ID' => 'PRESENSI_ID']);
}
}
最佳答案
默认情况下,从返回行中提取的属性只是可以在表中找到的列。
我从您的代码中得到的印象是这些字段不是。要解决此问题,您可能应该覆盖 attributes()
函数并将这些属性声明为有效:
public function attributes()
{
return array_merge(parent::attributes(), ['tanggal', 'hadir', 'tidak_hadir', 'total']);
}
这应该指示 populateRecord()
- 函数也填充那些。
关于mysql - Yii2 : Getting unknown property when using findBySql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30644362/
Yii2 的新特性。 只是试图从 ActiveRecord 查询中获得返回。我意识到使用 Yii2 约定可能有更简单的方法来做到这一点 public function actionGet_permis
我正在使用 Yii2,对于我的数据表,我需要将数据分类并限制每个类别的数据,为了获得结果,我使用了 findBySql() 但它总是从该模型返回完整的结果集。 它工作完美,但我想将它与模型一起使用,这
在 phpMyAdmin 中查询 "SELECT * FROM uzytownik" 给我 uzytkownik 表中的所有记录。但是在 yii Controller 中应用的相同查询给了我一个(第一
我正在使用 findBySql() 从数据库中获取数据,我想用表格显示 View 中的数据。 这是我 Controller 上的代码: $sql = "SELECT presensi.presensi
我是一名优秀的程序员,十分优秀!