从一到多调用另一个字段table Yii2
Call another field from one to many table Yii2
我这里有问题。如何从用户 table 调用字段 'username'?我想在这里显示用户名而不是 user_id。这是图片:
I want to show the username not the user_id in part 'Direquest oleh' and 'Disetujui/Ditolak oleh'
这是我的代码:
[
'attribute' => 'waktu_request',
'label' => 'Waktu Request',
'format' => ['DateTime', 'php:d M Y H:i:s'],
'filter' => '',
],
[
'attribute'=>'requested_by',
'label' => 'Direquest oleh',
'value' => function($model){
if($model->requested_by == NULL){
return '-';
}else{
return $model->requested_by;
}
}
],
[
'attribute'=>'approved_rejected_by',
'label' => 'Disetujui/Ditolak oleh',
'value' => function($model){
if($model->approved_rejected_by == NULL){
return '-';
}else{
return $model->approved_rejected_by;
}
}
],
我希望任何人都可以在这里解决我的问题。感谢您的关注。
首先你需要在模型中创建一个函数 class,就像
public function getCreatedByText()
{
$user = User::findOne($this->created_by);
if ($user != null) {
return $user->username;
}
return '-';
}
然后你像那样分配这个函数
'label' => 'Created At',
'value' => $model->getCreatedAtText()
如有不明白的,请教我know.I会尽力的
如果您使用 Gii 生成模型和 crud,您可能已经生成了名为 getRequestedBy()
和 getApprovedRejectedBy()
.
的关系
[
'attribute'=>'requested_by',
'label' => 'Direquest oleh',
'value' => function($model){
return ($model->requested_by) ? $model->requestedBy->username : '-';
}
],
[
'attribute'=>'approved_rejected_by',
'label' => 'Disetujui/Ditolak oleh',
'value' => function($model){
return ($model->approved_rejected_by) ? $model->approvedRejectedBy->username : '-';
}
],
不要忘记在 searchModel 中添加关系以进行预先加载,也就是减少查询次数。例如,
ModelName::find()->with(['requestedBy', 'approvedRejectedBy']);
我这里有问题。如何从用户 table 调用字段 'username'?我想在这里显示用户名而不是 user_id。这是图片: I want to show the username not the user_id in part 'Direquest oleh' and 'Disetujui/Ditolak oleh'
这是我的代码:
[
'attribute' => 'waktu_request',
'label' => 'Waktu Request',
'format' => ['DateTime', 'php:d M Y H:i:s'],
'filter' => '',
],
[
'attribute'=>'requested_by',
'label' => 'Direquest oleh',
'value' => function($model){
if($model->requested_by == NULL){
return '-';
}else{
return $model->requested_by;
}
}
],
[
'attribute'=>'approved_rejected_by',
'label' => 'Disetujui/Ditolak oleh',
'value' => function($model){
if($model->approved_rejected_by == NULL){
return '-';
}else{
return $model->approved_rejected_by;
}
}
],
我希望任何人都可以在这里解决我的问题。感谢您的关注。
首先你需要在模型中创建一个函数 class,就像
public function getCreatedByText()
{
$user = User::findOne($this->created_by);
if ($user != null) {
return $user->username;
}
return '-';
}
然后你像那样分配这个函数
'label' => 'Created At',
'value' => $model->getCreatedAtText()
如有不明白的,请教我know.I会尽力的
如果您使用 Gii 生成模型和 crud,您可能已经生成了名为 getRequestedBy()
和 getApprovedRejectedBy()
.
[
'attribute'=>'requested_by',
'label' => 'Direquest oleh',
'value' => function($model){
return ($model->requested_by) ? $model->requestedBy->username : '-';
}
],
[
'attribute'=>'approved_rejected_by',
'label' => 'Disetujui/Ditolak oleh',
'value' => function($model){
return ($model->approved_rejected_by) ? $model->approvedRejectedBy->username : '-';
}
],
不要忘记在 searchModel 中添加关系以进行预先加载,也就是减少查询次数。例如,
ModelName::find()->with(['requestedBy', 'approvedRejectedBy']);