标签: yii

Yii:规则'allowEmpty'=> true仍然加注'不能为空'

我对CActiveRecord.rules有疑问

public function rules(){
    return array(
        array('photo_path', 'required', 'on'=>'insert'),
        array('photo_path', 'file', 'types'=>'jpg, gif, png', 'allowEmpty'=>true),
    );
}

只有在创建模型时才需要Photo_path,在更新视图中它可以为空.

我不知道发生了什么,但一小时前它有效,但现在却没有.当我选择文件时,我得到'照片路径不能为空'

请帮忙 :)

php yii cactiverecord yii-validation

1
推荐指数
1
解决办法
4109
查看次数

PHP运算符 - >和=>

我是PHP的新手,我想知道 - >和=>之间有什么区别?

<?php echo CHtml::submitButton($model->isNewRecord ? 'Create' : 'Save',array('class'=>'btn btn-primary')); ?>
Run Code Online (Sandbox Code Playgroud)

php yii

1
推荐指数
1
解决办法
367
查看次数

如何从PHP中的系统日期减去5分钟?

考虑以下,

$date = new DateTime(null, new DateTimeZone('Asia/Kolkata'));
$sysdate = date_format($date, 'H:i:s');
echo $sysdate;

Result:  17:31:48
Run Code Online (Sandbox Code Playgroud)

让我知道如何从sysdate减去5分钟.

php yii

1
推荐指数
1
解决办法
783
查看次数

如何在没有停机时间的情况下升级网站?

我想在没有停机的情况下升级我的网站.我做了研究,并没有找到一种方法来升级它没有停机时间(几秒钟就好了).我想的方法如下,但我不确定是否有任何良好的专业方式.请帮我解决一下如何改进这个问题.

  1. 将新表/ CF添加到数据库(数据库是Cassandra,我们不应该对现有表/ CF进行任何更改)
  2. 在不同目录的在线服务器中部署项目,以便用户仍然可以使用现有站点.
  3. 将上传的项目指向不同的端口,检查一切是否正常.
  4. 如果一切正常,请将符号链接更改为上载的目录

如果有的话,请告诉我任何其他好的方法.

我在本地服务器上使用SVN

php deployment database-migration yii cassandra

1
推荐指数
1
解决办法
286
查看次数

计算在Yii中查找所有记录

我想查找用户表中除一个用户类型以外的所有记录.即我有一个用户表dec_user,其中有一个属性user_type.我想找到除了以外的所有记录user_type 9.然后我会计算行数.所以,我写道:

$user_type = 9;
    return count(User::model()->findAll(array("condition"=>"':user_type' != $user_type")));
Run Code Online (Sandbox Code Playgroud)

实际上,我不明白如何写这个条件.

php yii

1
推荐指数
1
解决办法
5418
查看次数

优化foreach数千项

我在一组25,000个结果中运行下面的代码.我需要优化它,因为我达到了内存限制.

$oldproducts = Oldproduct::model()->findAll(); /*(here i have 25,000 results)*/

foreach($oldproducts as $oldproduct) :
    $criteria = new CDbCriteria;
    $criteria->compare('`someid`', $oldproduct->someid);
    $finds = Newproduct::model()->findAll($criteria);

    if (empty($finds)) {
        $new = new Newproduct;
        $new->someid = $oldproduct->someid;
        $new->save();
    } else {
        foreach($finds as $find) :
            if ($find->price != $oldproduct->price) {
                $find->attributes=array('price' => $oldproduct->price);
                $find->save();
            }
        endforeach;
    }
endforeach;
Run Code Online (Sandbox Code Playgroud)

代码通过someid比较两个表的.如果发现巧合则更新价格列,如果没有创建新记录.

php memory optimization foreach yii

1
推荐指数
1
解决办法
613
查看次数

在PHP Yii中$ model-> save()做了什么?

关于在PHP的Yii框架中保存模型,我有几个快速的概念性问题.我已经遇到过几次这个代码$ model-> save()(例如if($ model-> save())....
但我从来没有完全理解它的含义.

另外,我在MVC提示/手册中读到我们应该尝试将模型保存在模型中而不是控制器中 - 有人可以解释为什么会这样吗?我有一个朋友告诉我这没关系 - 但是,我想了解背后的规则.

谢谢你的帮助!

php yii

1
推荐指数
1
解决办法
5422
查看次数

为什么我在Yii中收到"非法字符串偏移'名称'"错误?

我是Yii的新手,我正在尝试插入一些示例数据.

在我的/model/Store.php文件中,我有以下代码:

class Store extends CActiveRecord {

public function rules()
{
    return array(
        array('name, status', 'required'),
(...)

public function attributeLabels()
{
    return array(
        'name' => 'Name',

(...)

public function insertSampleData(){
    $dataArray = [
        "name" => "Test store ", "fk_adr" => "4117",
        "name" => "Test store ", "fk_adr" => "4126",
        "name" => "Test store ", "fk_adr" => "4140",
        "name" => "Test store ", "fk_adr" => "4150",
        "name" => "Test store ", "fk_adr" => "4167",
    ];

    $num = Yii::app()->db->getLastInsertID();
    foreach($dataArray as $data …
Run Code Online (Sandbox Code Playgroud)

php yii

1
推荐指数
1
解决办法
5082
查看次数

yii model-> save not working for update value

public function actionUpdateprofile(){
    $user = User::model()->findByPk($_POST['User']['user_id']);
    $profile = Profile::model()->findByPk($_POST['User']['user_id']);

    if(isset($_POST['User']) || isset($_POST['Profile'])){
        $user->attributes = $_POST['User'];
        $profile->attributes = $_POST['Profile'];
        $user->save();
        $profile->save();

    }
}
Run Code Online (Sandbox Code Playgroud)

我做了这个代码来更新配置文件和用户表中的值.但它不起作用.如果我发送$_POST['Profile']['email'] = 'abc@gmail.com'; 没有错误但数据库仍显示旧值.为什么?

我在那里做错了什么?

这是结果$profile->attributes.电子邮件仍然具有旧价值.

Array
(
    [user_id] => 35
    [lastname] => asd
    [firstname] => asrtyr
    [email] => xyz.gmail.com
    [phoneno] => 123456
    [prof_img] => 
    [phoneno2] => 0
    [agentKey] => 
    [fb_id] => 
)
Run Code Online (Sandbox Code Playgroud)

php mysql yii

1
推荐指数
1
解决办法
4200
查看次数

php yii表单在提交后没有清除

我在UserController.php中使用以下代码来注册新用户

$model=new Users;

    if(isset($_POST['Users'])) {
        $model->attributes = $_POST['Users'];
        if ($model->register()) {               
            $model->setIsNewRecord(true);
            if ($model->save()) {
                Yii::app()->user->setFlash('info','User registered successfully!!! Please login to Continue.'); 
            } else {
                Yii::app()->user->setFlash('info','Sorry, an unexpected error has occurred!');
            }
        }   
    }
    $this->render('register',array('model'=>$model));
Run Code Online (Sandbox Code Playgroud)

注册成功后,注册表格将保留输入的值.我该如何清除这张表格?

以下是视图文件中的表单代码 - Register.php

<div class="form">
<?php $form=$this->beginWidget('CActiveForm', array(
    'id'=>'register-form',
    'enableClientValidation'=>true,
    'clientOptions'=>array(
        'validateOnSubmit'=>true,
    ),
)); ?>    
    <p class="note">Fields with <span class="required">*</span> are required.</p>           
    <div class="row">
        <?php echo $form->labelEx($model,'username'); ?>
        <?php echo $form->textField($model,'username'); ?>
        <?php echo $form->error($model,'username'); ?>
    </div>

-----other textfields in div similar to the …
Run Code Online (Sandbox Code Playgroud)

php forms yii

1
推荐指数
1
解决办法
4706
查看次数