我在我看来有一个自动完成字段,其代码如下
<?php
$data = Members::find()
->select(['first_name as value', 'first_name as label','id as id'])
->asArray()
->all();
echo 'Name' .'<br>';
echo AutoComplete::widget([
'name' => 'member_name',
'clientOptions' => [
'source' => $data,
'minLength'=>'3',
'autoFill'=>true,
'select' => new JsExpression("function( event, ui ) {
$('#receipt-member_id').val(ui.item.id);//#receipt-member_id is the id of hiddenInput.
}")],
]);
?>
Run Code Online (Sandbox Code Playgroud)
自动完成工作正常,它显示所有“成员”的名字。但是可能有很多名字相似的人,所以我想要的是连接 first_name 和 last_name。在正常的下拉菜单中,可以按如下方式完成
<?php
$models1 = Members::find()->all();
$data = array();
foreach ($models1 as $model1)
$data[$model1->id] = $model1->first_name . ' '. $model1->last_name;
echo $form->field($model, 'member_id')->dropDownList(
$data,
['prompt'=>'Select...']);
?>
Run Code Online (Sandbox Code Playgroud)
如何使用自动完成小部件执行此操作?
我怎样才能得到第一行的结果?下面是我的代码,它给了我这样的错误Undefined index: module
if ( substr( $action, 0, 4 ) === "stl_" )
{
$query = "SELECT * FROM a_actions LEFT JOIN a_modules ON ( a_modules.id=a_actions.module_id )
WHERE a_actions.id=(SELECT dependency FROM a_actions WHERE action='{$action}') AND a_modules.module_status = 1 ";
$action = \Yii::$app->db->createCommand( $query )
->queryAll();
//print_r($action);die();
$module = $action[ 'module' ];
$action = $action[ 'action' ];
}
Run Code Online (Sandbox Code Playgroud)
$action 有价值
Array ( [0] => Array ( [id] => 7 [module_id] => 7 [action] => index [label] => Members [dependency] => …Run Code Online (Sandbox Code Playgroud) 如果用户在 yii2 中处于非活动状态超过 5 分钟,我可以知道如何具有自动注销功能吗?
以下代码将使用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 中添加 URL 规则来处理带有破折号的自定义 URL。
我想要做的是将 URL 更改为
到
我有以下配置,当 URL 参数没有破折号时(exampleposttitle),该配置可以正常工作。
'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,
'rules' => [
// ...
'<url:\w+>' => 'post/details',
],
],
Run Code Online (Sandbox Code Playgroud) 我有一个任务,描述为“使用 Yii2 迁移创建新数据库,并默认使用它”。但我有一些勾结:我必须在我的main-local.php文件中设置至少一个默认数据库才能开始迁移。但我也必须通过初始迁移创建这个数据库。
return [
'db' => [
'class' => 'yii\db\Connection',
'dsn' => 'mysql:host=localhost;dbname=default_base',
'username' => 'root',
'password' => '',
'charset' => 'utf8',
],
];
Run Code Online (Sandbox Code Playgroud)
我该如何处理?创建一个带有迁移的数据库并设置为默认数据库。
当我执行迁移时(迁移文件中有代码):
public function safeUp()
{
$this->execute("CREATE DATABASE default_base");
}
Run Code Online (Sandbox Code Playgroud)
我有一个例外:
General error: 1007 Can't create database 'default_base'; database exists
Run Code Online (Sandbox Code Playgroud)
我意识到这是因为我已经在 phpmyadmin 中创建了 default_base(单击按钮“创建数据库”),并将其与我的main-local.php文件中的应用程序连接。但是我只需要在执行yii migrate.
UPD
我已经尝试了 rob006 推荐的方式,但出现连接错误
Exception 'yii\db\Exception' with message 'SQLSTATE[HY000] [1049] Unknown database 'default_base''
Run Code Online (Sandbox Code Playgroud)
我的 main-local.php 看起来就像 rob006 推荐的那样,但我仍然无法迁移。仅当我设置时才有效:
'preinstallDb' => [
'class' => 'yii\db\Connection', …Run Code Online (Sandbox Code Playgroud) 我有两个表 ad_pool 和 advertisement。ad_pool有一些数据,而advertisement是空的。我使用此代码通过像这样的不等于查询从第一个表中选择值 andWhere(['<>','fisttablekey','second_tbl_key'])。这是我用来检索数据的完整代码,我还上传了图像。
$pool1 = (new Query())>select('p.id,p.cleaner_user_id,p.ad_place_id')
->from('ad_pool p')
->innerJoin('advertisment a' , 'p.id = a.pool_id')
->where(['=','ad_place_id',1])
->andWhere(['<>','p.id','a.pool_id'])
->orderBy(new Expression('rand()'))
// ->limit(1)
->all();
var_dump($pool1);
exit();
Run Code Online (Sandbox Code Playgroud)
这返回我空数组。需要您的帮助。提前致谢。