Yii 2.0 dropDownList无法默认选择

今天使用使用ActiveForm小部件dropDownList表单。以为在后面的选项加入id选择值

<?= $form->field($model, 'member_id')->dropDownList($member,
[
    '1' => ['selected' => 'selected']
]) 
?>

这样就可以了,其实不对,它是根据$model模型对应的字段内容来自动选择的。$model->member_id如果有id,它就会selected上了,不需要你额外赋值。

也可以一开始就选择默认值,但是不是以上参数,要用value

<?= $form->field($model, 'member_id')->dropDownList($member,
['prompt'=>'选择会员','value' => 3]) 
?>

这样就可以了,如果直接用html的dropDownList也可以

<?= Html::dropDownList( 'member_id',null,$member,
[  
 'options' => ['5' => ['selected' => true]],  
 'prompt' =>['text'=>'顶级栏目', 'options'=>['value'=>0]],  
 'style'=>'width:200px',  
]
) 
?>
发表在 服务器 | 标签为 | 留下评论

git pull时出现冲突 从远程库内容拉取强行覆盖本地代码

不知道为什么pull后,团队修改过的代码文件会和本地没有修改过的文件产生冲突,放弃本地修改。

首先删除文件或修改名称后尝试从远程拉一个下来:

git checkout — 文件路径

最后实在不行就备份好文件后整个版本恢复,切记要先备份,防止你忘记了什么文件后悔莫已。

git reset –hard origin/dev //下载某个分支
git reset –hard origin/master //把HEAD指向最新下载的主版本

发表在 服务器 | 标签为 | 留下评论

安装TortoiseGit2.6最新版本详细图解

首先到https://tortoisegit.org/download/下载TortoiseGit-LanguagePack-2.6.0.0-64bit-zh_CN.msi最新windows版本,点击msi开始安装,一开始都是默认,下一步。

点击完成 选择语言 选择git安装目录 填写名称和邮箱

如果里需要配置github公钥密钥的话,可以在这里设置选择ssh方式,如果单纯使用TortoiseGit自身的方式,就选择TortoiseGitPlink方式,点击右边putty配置生成ppk密钥。

进入putty key界面后,下面选择ecdsa类型,点击Generate。 生成密钥 成功后复制key和相关信息。

点击save private key保存ppk 点击是,选择路径保存即可。最后关闭putty,返回刚才界面点击完成即可。

发表在 服务器 | 标签为 , | 留下评论

同时可用git命令clone和TortoiseGit拉取代码不需要密码

因为工作需要在windows7下使用git分布式版本控制系统,需要同时可以在git命令行模式或TortoiseGit拉取代码而不需要每次输入密码。

这时候需要同时安装git和TortoiseGit。

先到https://git-scm.com/download/win和https://tortoisegit.org/download/分别下载最新的git和TortoiseGit。

git使用命令ssh-keygen -C “邮箱地址” -t rsa产生的密钥在TortoiseGit中不能用。TortoiseGit 使用扩展名为ppk的密钥,而不是ssh-keygen生成的rsa密钥。

使用git通常都是在服务端添加上你本地生成的无设置密码的密钥即可,密钥一般在安装git后生成在C:\Users\Administrator\.ssh目录下*.pub,如果没有可使用ssh-keygen命令生成。

git clone命令成功可控代码库后,关键一步道了这里只是需要把TortoiseGit设置网络里面的ssh客户端位置C:\Program Files\TortoiseGit\bin\TortoiseGitPlink.exe,修改成成git安装目录下的ssh.exe即可。如果你安装过程已经选择了使用OpenSSH方式我想这里也应该不用修改了。不然拉取等操作的时候都会提示需要输入密码。

发表在 服务器 | 标签为 | 留下评论

mysql按in使用 field方法排序

假设test表中有A,B字段

id字段中有19, 23, 21, 2, 129…

要求:19, 23, 21, 2, 129剩下的按照b字段正序排列

select * from test order by field(a,19,23,21,2,129) desc , b asc

效率有待考证

发表在 服务器 | 标签为 | 留下评论

javascript把毫秒转换为小时/分钟/秒的格式

今天遇到需要计算一个距离开场时间相差了多少时间的需求:

var date = new Date(),
	year = date.getFullYear(),
	month = date.getMonth() + 1,
	day = date.getDate(),
	hours = date.getHours(),
	minutes = date.getMinutes(),
	seconds = date.getSeconds();

month = month<10?'0'+month:month;
day = day<10?'0'+day:day;
hours = hours<10?'0'+hours:hours;
minutes = minutes<10?'0'+minutes:minutes;
seconds = seconds<10?'0'+seconds:seconds;

var startTime = new Date(year + '/' + month + '/' + day + '/' + ' 09:00:00'); //开始时间戳
var endTime = new Date().getTime() - startTime.getTime();  //当前时间减去开始时间相差毫秒数
alert(MillisecondToDate(endTime));//输出转换成时间格式
function MillisecondToDate(msd) {
   var time = parseFloat(msd) / 1000;
   if (null != time && "" != time) {
      if (time > 60 && time < 60 * 60) {
         time = getzf(parseInt(time / 60.0)) + ":" + getzf(parseInt((parseFloat(time / 60.0)) -
                  getzf(parseInt(time / 60.0)) * 60)) + "";
      }
      else if (time >= 60 * 60 && time < 60 * 60 * 24) {
         time = getzf((parseInt(time / 3600.0))) + ":" + getzf(parseInt((parseFloat(time / 3600.0) -
               parseInt(time / 3600.0)) * 60)) + ":" +
            getzf(parseInt((parseFloat((parseFloat(time / 3600.0) - parseInt(time / 3600.0)) * 60) -
               parseInt((parseFloat(time / 3600.0) - parseInt(time / 3600.0)) * 60)) * 60)) + "";
      }
      else {
         time = parseInt(time) + "";
      }
   }
   return time;
}
//补零
function getzf(num){
   if(parseInt(num) < 10){
      num = '0'+num;
   }
   return num;
}
发表在 服务器 | 标签为 | 留下评论

CentOS修改MySQL忘记root密码

找到MySQL配置文件/etc/my.cnf,找一行加入以下内容跳过表的授权

skip-grant-tables

执行/etc/init.d/mysqld restart或service mysqld restart重启mysql

root用户登录直接MySQL,提示密码直接回车

mysql -uroot -p

有密码提示也忽略,回车即可。

然后执行修改密的命令和刷新纪录。

mysql5.7执行修改密码语句是

update mysql.user set authentication_string=password('新密码') where user='root';

MySQL是5.7以下,则修改密码的语句是

update mysql.user set password=password('新密码') where user='root';
flush privileges;//刷库

接下来去掉配置文件里面刚才添加的参数,再重启mysql就可以了。

发表在 服务器 | 标签为 | 留下评论

阿里云域名优惠口令

【优惠口令】18年2月1日起,续费/首年(优惠与同产品其他优惠如代金券、折扣等不能同时使用)
com英文域名注册45元/首年:域名抢注88折起
com英文域名续费60元/首年:地久天长
cn英文域名注册16元/首年:大吉大利
cn英文域名续费35元/首年:万古长青
net英文域名转入59元:百业兴旺
xin注册32元/首年:旺事如意

其他阿里云云产品优惠券(云服务器 ECS,关系型数据库 RDS 等)可以领取我的 优惠券链接

发表在 服务器 | 标签为 | 留下评论

远程桌面连接发生身份验证错误。要求的函数不受支持

windows7/10更新补丁后,远程桌面连接发生身份验证错误。要求的函数不受支持。

直接卸载与CredSSP加密Oracle修正相关的补丁,KB4103718、KB 4093120等。或者修改客户端安全策略。

运行gpedit.msc打开本地组策略编辑器。依次展开“计算机配置”->“管理模板”->“系统”->“凭据分配”设置名称: 加密 Oracle 修正设置为启动,下面保护级别设置为易受攻击。


点确定连接远程桌面试试看。

发表在 服务器 | 标签为 | 留下评论

phpstorm不能自动打开上次历史文件

今天出现电脑断电而非正常关机,导致phpstrom设置消失和无法自动打开上次打开过的历史文件的问题。

很简单找到phpstrom项目下的.idea隐藏目录中的workspace.xml,正常打开是xml格式的内容,不会是乱码或一些null字符。很简单关闭phpstrom后清空它,再重新打开就可以了,试试看是不是正常了。

发表在 服务器 | 标签为 , | 留下评论