我正在开发一个自动完成小部件.到目前为止,这是我的代码.
我的看法:
<?php
$data = Company::find()
->select(['name as value', 'name as label','c_id as id'])
->asArray()
->all();
echo AutoComplete::widget([
'name' => 'Company',
'id' => 'ddd',
'clientOptions' => [
'source' => $data,
'autoFill'=>true,
'minLength'=>'4',
'select' => new JsExpression("function( event, ui ) {
console.log(ui);
$('#user-company').val(ui.item.id);
}")],
]);
?>
<?= Html::activeHiddenInput($model, 'company')?>
Run Code Online (Sandbox Code Playgroud)
选择选项时,自动填充选项将在我的文本字段中更新,但不会更新隐藏字段.
如何在选择选项时更新隐藏字段?
我有一个Yii2模型,它使用多个具有相同结构的表.表名将根据登录的用户而变化,表名非常独特,取决于用户名.如何动态地将此表名分配给模型?到目前为止我已经这样做了.
在我的模型中:
protected $table;
public function __construct($table)
{
$this->table='custom_risk_assignment_table';//logic to obtain the table name goes here
}
public static function tableName()
{
return $this->table;
}
Run Code Online (Sandbox Code Playgroud)
但这样做会导致错误,Using $this when not in object context
因为它function tableName()
是一个static
函数.
我怎么能这样做?任何帮助表示赞赏.谢谢!
编辑:详细的图片
假设我有ABC公司的用户.我的应用程序中有很多进程,比如PQR就是其中之一.如果ABC公司的用户登录并选择进程PQR,我需要在我的数据库中创建一个表ABC_PQR(如果不存在),或者如果已经创建了表,则加载该表.我需要将这个表名放入我的模型中.同样可能存在用户和许多进程.管理数据库的最佳方法是什么.
我根据我的主题设计了我的CMenu.以下是我的代码.
<!-- Navigation -->
<nav id="nav">
<ul id="navlist" class="sf-menu clearfix">
<?php
$this->widget('zii.widgets.CMenu',array(
'items'=>array(
array('label'=>'Contact', 'url'=>array('/site/contact')),
array('label'=>'Registration','url'=>array('/registration'),
'items'=>array(
array('label'=>'Registration','url'=>array('/registration')),
array('label'=>'Abc Registration','url'=>array('/registration/abc')),
),'visible'=>Yii::app()->user->isGuest),
array('label'=>'Login', 'url'=>array('/user/user/login'), 'visible'=>Yii::app()->user->isGuest),
array('label'=>'Logout ('.Yii::app()->user->name.')', 'url'=>array('/site/logout'), 'visible'=>!Yii::app()->user->isGuest)
),
));
?>
</ul>
</nav>
Run Code Online (Sandbox Code Playgroud)
生成的html如下所示
<!-- Navigation -->
<nav id="nav">
<ul id="navlist" class="sf-menu clearfix">
<ul id="yw1">
<li><a href="/mysite/site/contact">Contact</a></li>
<li><a href="/mysite/registration">Registration</a>
<ul>
<li><a href="/mysite/registration">Registration</a></li>
<li><a href="/mysite/registration/abc">Abc Registration</a></li>
</ul>
</li>
<li><a href="/mysite/user/user/login">Login</a></li>
</ul>
</ul>
</nav>
<!-- Navigation -->
Run Code Online (Sandbox Code Playgroud)
问题是Yii生成的id是yw1..i想要将其更改为'navlist'.如何自定义CMenu?
编辑
我也试过在html选项中设置css类.但它只是设置类,而不是Id.所以它只给出相同的结果.
我正在使用 Yii 2 的 alpha 版本。我可以通过前端访问 GII 模块,但不能通过后端访问。url '/advanced/backend/web/index.php?r=gii/' 给我 404 错误。有解决这个问题的方法吗?