ขอบสอบถามหน่อยครับ ในส่วนของ "สร้างโดย" "แก้ไขโดย" ตรงวงกลมสีแดง ผมต้องการให้แสดงเป็น username ซึ่งตอนนี้ยังแสดงเป็น id อยู่ ผมต้องแก้ไขอย่างไรครับ ขอบคุณครับ
Models Blog.php ผมใช้ BlameableBehavior ในการบันทึกข้อมูลลง Database ครับ
<?php
use yii\behaviors\BlameableBehavior;
use yii\behaviors\TimestampBehavior;
// .....
class Blog extends \yii\db\ActiveRecord
{
public function behaviors(){
return [
BlameableBehavior::className(),
TimestampBehavior::className()
];
}
//...
}
ส่วนของ View.php
//.............
<?= DetailView::widget([
'model' => $model,
'attributes' => [
'id',
'title',
'content',
'category'
'tag'
'created_at:dateTime',
'created_by'
'updated_at:dateTime',
'updated_by',
],
]) ?>
//..................
//...
[
'attribute' => 'created_by',
'value' => $model->userCreated->username,
],
[
'attribute' => 'updated_by',
'value' => $model->userUpdated->username,
],
//...
สร้าง Relation ใน Model ด้วยครับ
<?php
use common\models\User;
//....
public function getUserCreated()
{
return $this->hasOne(User::className(), ['id' => 'created_by']);
}
public function getUserUpdated()
{
return $this->hasOne(User::className(), ['id' => 'updated_by']);
}
ได้ผลอย่างไรบอกด้วยนะครับ
ตอบ/อธิบาย