什么是在yii 1.x中将IN条件添加到活动查询的活动记录方式,您可以像这样使用CDbCriteria
$cr = new CDbCriteria();
$cr->addNotInCondition('attribute', $array);
Run Code Online (Sandbox Code Playgroud)
在yii2活动记录实现中似乎没有等效的API调用,如何通过活动记录执行此操作?
我有UserControler,我在虚拟服务器http://basic.com/index.php?r=user/index中运行它.当我访问http://basic.com时,如何设置UserController和操作index成为默认设置
与标题相同,我不想使用bootstrap.css和bootstrap.js.我尝试使用:
'assetManager' => [
'bundles' => [
'yii\bootstrap\BootstrapAsset' => [
'css' => [],
],
],
],
Run Code Online (Sandbox Code Playgroud)
它删除bootstrap.css但无法删除bootstrap.js.有人可以帮帮我吗?
在我的视图中添加javascript会导致ReferenceError: $ is not defined.我认为问题是由于Yii2在我的页面上最后注入脚本.如何解决这个问题?
或者我如何阻止Yii2自动加载脚本文件?
我的看法
<?php
use yii\helpers\Html;
use yii\helpers\ArrayHelper;
use yii\helpers\UrlManager;
use yii\widgets\ActiveForm;
use backend\controllers\StandardController;
use backend\models\standard;
?>
<div class="domain-form">
<?php $form = ActiveForm::begin(); ?>
<?php
<?= $form->field($model, 'clause')->textarea(['rows' => 6]) ?>
<?= $form->field($model, 'name')->textarea(['rows' => 6]) ?>
<div class="form-group">
<?= Html::submitButton($model->isNewRecord ? 'Create' : 'Update', ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']) ?>
</div>
<?php ActiveForm::end(); ?>
</div>
<script type="text/javascript">
$("document").ready( function () {
alert("hi");
});</script>
Run Code Online (Sandbox Code Playgroud)
我需要让这个简单的脚本在页面加载后显示警告.我没有在这里调用任何脚本文件,因为yii通过调用自动加载(我认为)在布局中
AppAsset::register($this);
Run Code Online (Sandbox Code Playgroud)
这导致脚本文件在我的自定义脚本之后在页面末尾注册.
怎么解决这个?

无法验证您的数据提交错误
在Yii2中创建一个公共函数.但是,在此方法中提交数据不接受,请参阅以下错误图像.为什么会这样?
我正在尝试yii2在我的Amazon Linux AMI实例上安装,它需要php-mbstring扩展才能工作.
当我试图运行sudo yum install php-mbstring它时返回此错误:
错误:php56-与php-common-5.3.29-1.8.amzn1.x86_64的常见冲突
Loaded plugins: priorities, update-motd, upgrade-helper
amzn-main/latest | 2.1 kB 00:00
amzn-updates/latest | 2.3 kB 00:00
2494 packages excluded due to repository priority protections
Resolving Dependencies
--> Running transaction check
---> Package php-mbstring.x86_64 0:5.3.29-1.8.amzn1 will be installed
--> Processing Dependency: php-common(x86-64) = 5.3.29-1.8.amzn1 for package: php-mbstring-5.3.29-1.8.amzn1.x86_64
--> Running transaction check
---> Package php-common.x86_64 0:5.3.29-1.8.amzn1 will be installed
--> Processing Conflict: php56-common-5.6.9-1.112.amzn1.x86_64 conflicts php-common < 5.5.22-1.98
--> Finished …Run Code Online (Sandbox Code Playgroud) 我想检查我的用户是否已填写其个人资料中的某些字段,然后才能访问任何控制器的任何操作.例如
if(empty(field1) && empty(field2))
{
header("Location:/site/error")
}
Run Code Online (Sandbox Code Playgroud)
在yii1中,我可以在init()函数的protected\components\Controller.php中完成它但在yii2中我不知道在哪里放我的代码.我无法修改核心文件,但不知道如何在我的高级应用程序的后端执行此操作.
我知道我可以使用beforeAction()但我有太多的控制器来做这件事并跟踪每个控制器
我已经阅读了Yii2 events使用Google找到的文档和所有文章.有人能为我提供一个很好的例子,告诉我如何在Yii2中使用事件以及它看起来合乎逻辑吗?
我将PHP网站迁移到Yii2框架时编写了以下查询.我想将它们添加到我的控制器中,以显示赢得的前10个投注.我尝试过很多Yii2数据库类,但我无法让它工作.
我的表是:
用户:
id | user_name | user_status | ...other columns...
Run Code Online (Sandbox Code Playgroud)
投注:
id | user_id | date_time |...other columns...| balance_return
Run Code Online (Sandbox Code Playgroud)
我希望在Yii2中获得的查询是:
$query_all = $dbh->query("
SELECT SUM(bets.balance_return) AS total_win
, bets.user_id
, users.user_name
, users.user_status
FROM bets INNER JOIN users ON bets.user_id = users.id
WHERE users.user_status = 'verified'
AND bets.date_time > " . $start_date . "
GROUP BY bets.user_id
ORDER BY total_win DESC
");
Run Code Online (Sandbox Code Playgroud)
变量start_date是我计算的6个月的时间段.time()另请注意,balance_return用户获得的每次获胜都是如此,其总和决定了排名.
第二个查询是:
$qwi = $dbh->query("
SELECT SUM(bets.balance_return) AS total_win
, bets.user_id
, users.user_name …Run Code Online (Sandbox Code Playgroud) yii2 ×10
php ×7
yii ×2
activerecord ×1
amazon-ec2 ×1
config ×1
default ×1
dependencies ×1
gii ×1
mbstring ×1
mysql ×1