如何在yii2中全局更改所有模型视图的操作列标题?
[
'header' => 'Actions',
'class' => 'yii\grid\ActionColumn',
'template' => '{view} {update}'
]
Run Code Online (Sandbox Code Playgroud)
我需要更改'header' => 'Actions'所有模型的for视图.
是否可以在全局范围内更改它而不是在每个模型视图中进行更改?
如何在一个文件yii2中使用两个名称空间?
我需要用
namespace backend/controllers;
namespace MongoDb;
Run Code Online (Sandbox Code Playgroud) 我需要为yii2记录创建路径。此路径应避免记录诸如密码等的变量。根据文档(yii \ log \ Target),要排除变量,我需要配置logVars。
在配置中:
'targets' => [
[
'class' => yii\log\FileTarget::className(),
'levels' => ['error', 'warning'],
'maxLogFiles' => 1000,
'maxFileSize' => 102400,
'logVars' => '!_POST[LoginForm[password]]',
],
Run Code Online (Sandbox Code Playgroud)
但是LoginForm密码仍然出现在日志文件中。如何正确配置logVars。
PS我已经尝试过!LoginForm.password,!_POST.LoginForm.password
以下代码将使用title方法的属性实现工具提示tag().
不幸的是,在标题中不可能呈现HTML标签.任何想法(欢迎链接)如何实现工具提示处理我的渲染HTML标签的意图?是否有任何其他选项实现tooltip-box外部属性
title,以便我能够呈现HTML标记
[
'attribute' => $dummy,
'label' => Yii::t('app', 'Charakterisierung'),
'format' => 'raw',
'vAlign' => 'middle',
'value' => function($model) {
if (!(empty($model->person->personentypDominant->typ_name))) {
$tag = Html::tag('span', 'Tooltip-Touch Me!', [
// html-tags won't be rendered in title
'title' => $model->person->personentypDominant->typ_empfehlung],
'data-toggle' => 'tooltip',
'data-placement' => 'left',
'style' => 'white-space:pre;border:1px solid red;'
]);
return $tag . "<br>" . $model->person->personentypDominant->typ_verhaltensmerkmal_im_team_1 . "," . $model->person->personentypDominant->typ_verhaltensmerkmal_bei_stress_3 . "," . $model->person->personentypDominant->typ_verhaltensmerkmal_am_arbeitsplatz_4;
}
}
],
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用yii2-queue https://github.com/yiisoft/yii2-queue/blob/master/docs/guide/usage.md
它说:
为了使用扩展,您必须按照以下方式进行配置:
Run Code Online (Sandbox Code Playgroud)return [ 'bootstrap' => [ 'queue', // The component registers its own console commands ], 'components' => [ 'queue' => [ 'class' => \yii\queue\<driver>\Queue::class, 'as log' => \yii\queue\LogBehavior::class, // Other driver options ], ], ];
我的问题很简单:我应该在哪个PHP文件,哪个目录中放置此代码?
注意:我正在使用基本模板。
我有一个使用Yii2 find()函数创建的数组(称为产品),有两个字段(称为名称和价格),我需要做一个简单的算术加法:price + 5.但我不知道该怎么做.
使用SQL很容易但是使用Yii2我不知道如何解决它.
$products = Products::find()
->select([
'name',
'price',
'price' + 5
])
->asArray()
->all();
Run Code Online (Sandbox Code Playgroud) 在我的数据库中,我有:带有fileds的区域表
-id
-name
Run Code Online (Sandbox Code Playgroud)
和花桌
-id
-name
-region - this is ID from ragion table
Run Code Online (Sandbox Code Playgroud)
在我的Flower模型中我有方法
public function getRegion()
{
return $this->hasOne(Region::className(), ['id' => 'region']);
}
Run Code Online (Sandbox Code Playgroud)
现在当我尝试像这样使用它
$flower->region->name
Run Code Online (Sandbox Code Playgroud)
我收到了错误 Trying to get property of non-object
$flower->region
Run Code Online (Sandbox Code Playgroud)
返回区域ID.如何通过使用获取区域名称
$flower->region->name
Run Code Online (Sandbox Code Playgroud)
?
更新:当我使用gii生成Flower模型时,我得到了这个方法:
public function getRegion0()
{
return $this->hasOne(Region::className(), ['id' => 'region']);
}
Run Code Online (Sandbox Code Playgroud)
我不懂.为什么我不能使用简单的getRegion()
我需要为common/models提供766权限才能使用gii模块生成文件.但是,当我这样做'类'普通\ models \用户'找不到'错误被抛出.它仅适用于755 permisson.问题是什么?
我想GridView::widget()在Yii2 中生成的表上应用类.
<?= GridView::widget([
'dataProvider' => $dataProvider,
'filterModel' => $searchModel,
'columns' => [
['class' => 'yii\grid\SerialColumn'],
'mobile_number',
'email:email',
'name',
'national_id',// and so....
Run Code Online (Sandbox Code Playgroud)
如何在桌面上应用CSS GridView::widget()?我想申请这个:
<table class="table tblSec">
Run Code Online (Sandbox Code Playgroud) 这是标准Yii2 SearchModel search行动
public function search($params, $cond)
{
$query = Service::find();
$dataProvider = new ActiveDataProvider([
'query' => $query,
]);
$this->load($params);
$query->where(['param' => $value]); //why this modified after it passed to provider?
return $dataProvider;
}
Run Code Online (Sandbox Code Playgroud)
为什么theres $query被修改AFTER作为参数传递给ActiveDataProvider它并且它有效?如何用params保持参考$query?