从一个到多个表Yii2调用另一个字段(Call another field from one to many table Yii2)

编程入门 行业动态 更新时间:2024-10-26 18:27:00
从一个到多个表Yii2调用另一个字段(Call another field from one to many table Yii2)

我这里有问题。 如何从用户表中调用字段“用户名”? 我想在这里显示用户名而不是user_id。 这里的图片: 我想在部分'Direquest oleh'和'Disetujui / Ditolak oleh'中显示用户名而不是user_id

在这里我的代码:

[ '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; } } ],

我希望有人能在这里解决我的问题。 为了你的关注我说谢谢。

I have a problem here. How can i call the field 'username' from the user table? I want to show the username here not the user_id. Here the pict : I want to show the username not the user_id in part 'Direquest oleh' and 'Disetujui/Ditolak oleh'

and here my code :

[ '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; } } ],

I hope anyone can solve my problem here. For your attention i say thank you.

最满意答案

如果您使用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']);

If you had used Gii to generate model and crud you probably already have relation generated named getRequestedBy() and 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 : '-'; } ],

Don't forget to add relation in searchModel for eager loading aka reduce no of queries. For example,

ModelName::find()->with(['requestedBy', 'approvedRejectedBy']);

更多推荐

本文发布于:2023-07-28 16:10:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1306846.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:多个   字段   table   Call   field

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!