这是我的 View 页面view.php
<div class="dataTables_wrapper form-inline dt-bootstrap">
<?= GridView::widget([
'dataProvider' => $dataProvider1,
'columns' => [
['class' => 'yii\grid\SerialColumn'],
[
'label' =>'Date',
'value' => 'date',
],
[
'label' =>'Reminder',
'value' => function($model){
return Yii::$app->session->get('').' '.$model['type'].' '.'reminder';
}
],
[
'label' =>'To',
'value' => 'recipients',
],
]
]); ?>
</div>
这是 Controller
$dataProvider1 = new ActiveDataProvider([
'query' => DomainReminders::find()
->where(['domain_id'=>$model['id']])
]);
$totalCount = $dataProvider1->getTotalCount();
return $this->renderAjax('view', [
'totalCount' => $totalCount,
'dataProvider' => $dataProvider,
'dataProvider1' => $dataProvider1,
true,
true
);
这是列名称为“type”的数据库,我想在 GridView 中像1st reminder, 2nd reminder, 3rd reminder一样打印
现在这是我的输出,我想打印成1st, 2nd reminder
最佳答案
您可以使用 Inflector::ordinalize()
为此:
[
'label' => 'Reminder',
'value' => function ($model) {
return Inflector::ordinalize($model['type']) . ' reminder';
},
],
关于php - 如何从模型打印 Yii2 GridView 中的第一个提醒、第二个提醒?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51612110/