jjzjj

php - yII2:日期过滤器如何在 Gridview 中

我可以过滤任何字段,包括相关字段中的列,但我想知道如何过滤日期字段。我遇到的一个解决方案是过滤器的日期选择器,我没有测试过这个,但我的要求有点不同。例如,我在gridview中复制了datetime列并将其格式化为['attribute'=>'discharge_date','format'=>['DateTime','php:M']],这样该列将只显示月份。该列正确显示月份。现在我想在此列上按月过滤。任何建议将不胜感激。谢谢。我试过这样['attribute'=>'discharge_date','value'=>'discharge_date','filter'=>['2015-0

php - Yii2 Pjax 不工作,重新加载整个页面

当在Action中使用file_get_contents($url)并且使用Pjax加载该Action时,整个页面会重新加载。Incontrollers/SiteController.phppublicfunctionactionAbout(){$url='http://api.dar.fm/topsongs.php?q=Music&page_size=20';$xml=file_get_contents($url);Yii::$app->view->params['xmldata']=$xml;return$this->render('about');}Inlayouts/main.

php - Yii 2 : Using module's image declared as asset

我在以下结构的模块中有一个图像:vendor/myvendorname/mymodulename/assets/img/delete-icon.png我需要添加一个通过JavaScript到页面,它可能有src指向那个delete-icon.png的属性.$("#delete").attr("src","?");如果图像将放在Yii创建的Assets目录中,我如何引用图像?这条路径的获取方式是什么? 最佳答案 一旦您注册了AssetBundle,就可以获取它的baseUrl。在View的其余部分,您可以使用它来获取图像:$asset

php - 如何在 YII2 ActiveRecord 查询中说 (a AND b) OR (c AND d)?

我在使用YII2的ORM时遇到了困难,它没有记录一些非常简单的典型SQL案例,比如伪代码SELECT*FROMtableWHERE(a=1ANDb=2)OR(a=3ANDb=4)我尝试过的://shouldrepresentthecommentedlogic,butdoesnotDemo::find()->where(...)//(conditionone->andWhere(...)//ANDconditiontwo)->orWhere(...)//OR(!)(conditionthree->andWhere(...)//ANDconditionfour)问题:在YII2中,wher

php - Yii2 分页在请求无效页面时返回最后一页

我正在使用ActiveDataProvider返回分页结果,大部分情况下都可以正常工作。但是如果有(例如)5页并且请求要求任何超过5页的页面,结果集是第5页,而我预计根本没有记录。这是预期的行为吗?如果不是,我可以尝试修复它吗?示例代码:returnnew\yii\data\ActiveDataProvider(['query'=>$query,'pagination'=>['pageSize'=>$perPage,],]); 最佳答案 简短回答:这是预期的行为。如果您有兴趣,Pagination类有这个validatePage默认

php - Yii2 翻译存储在数据库中的数据

我正在使用Yii2框架,并且已经使用本指南配置了i18n组件:http://thecodeninja.net/2014/12/i18n-with-yii-2-advanced-template/因此,我现在可以使用Yii::t()函数翻译我的php文件中的字符串。使用$./yiimessage/extract控制台命令提取可翻译的字符串,生成适当的翻译文件。我现在需要显示数据库中存储的字符串的翻译。我可以像这样使用Yii:t()和变量而不是字符串作为参数echoYii:t('app',$some_string_from_db);然后用这样的代码创建一个新的php文件这样$./yiime

php - yii 通过 IP 地址访问规则

我正在使用Yii1.1.16,并尝试添加一个accessRules以按IP进行过滤这是我在CommentsController中的代码。它仍然允许我的本地主机IP访问该操作。除了我的Action,这是我的Controller中唯一的其他功能。我错过了什么或做错了什么?谢谢publicfunctionaccessRules(){returnarray(array('allow',//allowalluserstoperformtheseactions'actions'=>array('Comments'),'ips'=>array(/*"127.0.0.1",*//*localhost*

php - 数据库中的 Yii2 session 存储,行太多?表现?

我刚开始使用yii\web\DbSession进行session存储,我当前的表中有33,000行。我需要所有这些记录吗?我在用它们吗?我应该设置某种删除所有旧记录的实现吗? 最佳答案 看来,你有一个大项目,所以你有很多用户session。拥有充满session的大table本身不是问题。YiiDbSession组件有一个垃圾收集器方法gcSession()在每次session保存时调用,Yii会自动处理session表中的过期记录。所以是的,你需要所有这些。如果它减慢了您的应用程序,您可能需要调整您的DBMS。有一个很好的答案和有

php - 访客用户和登录用户的两种不同布局- Yii2

以前,我在ma​​in.php中声明了页眉和页脚。没关系。现在,我正在为GuestUser和RegisteredUser寻找2种不同的布局。其中RegisteredUser和Admin会有不同的页眉和页脚。我正在使用Yii2基本应用程序。我在views/layouts/文件夹中创建了GuestUser.php和RegisteredUser.php。访客用户表示用户尚未登录应用程序。并且,注册用户表示用户已登录应用程序。现在,我的目录结构是这样的。views->layouts->main.php->GuestUser.php->RegisteredUser.php->site现在,如何为

php - Yii2 ArrayHelper::toArray 不能递归工作

Yii2ArrayHelper的辅助方法toArray不转换嵌套对象。这是我的测试代码。publicfunctionactionTest(){$product=\common\models\Product::find()->where(['id'=>5779])->with('firstImage')->one();$product=\yii\helpers\ArrayHelper::toArray($product);print_r($product);}默认情况下启用递归属性。publicstaticarraytoArray($object,$properties=[],$recu