标签: yii

Yii:如何从另一个控制器动作中调用控制器动作?

当我删除'type'时我设置了isActive = 0;

每种"类型"都有很多"因果关系"

因此,当禁用某种类型时我想禁用每一个因果关系

类型控制器中我正在尝试这个

$model = $this->loadModel($id);
$model->isActive = 0;

foreach ($model->causalsObj as $key => $causal ) {
   $causal = CausalController::delete($causal->id);
}

$model->save();
Run Code Online (Sandbox Code Playgroud)

这不起作用(在ajax调用期间PHP错误)

php yii

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

php yii中的最后一个插入ID

我想清楚我对以下命令的理解:

Yii::app()->db->getLastInsertId() ; 
Run Code Online (Sandbox Code Playgroud)

它是否检索此特定用户或连接的最后一个插入?在Yii,如果我使用Yii :: app() - > db for db连接,它是否可以干扰其他用户?

此命令是否检索特定用户或最近插入的最后一个插入ID,而与用户无关.

php pdo yii

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

YII中的数据库approch

我正在开发我的第一个YII网站.我对YII数据库有一些疑问.

在yii中有三种查询数据库的方法.

  • 数据库访问对象
  • 查询生成器
  • 积极记录

  1. 这三种方法中哪一种是安全且最受欢迎的方法?
  2. 如果我有自定义查询来执行我更喜欢哪种方法?
  3. 在Query Builder查询的情况下,我们明确选择表格

        $user = Yii::app()->db->createCommand()
            ->select('id, username, profile')
            ->from('tbl_user') // explicitly choosing the table
            ->join('tbl_profile p', 'u.id=p.user_id')
            ->where('id=:id', array(':id'=>$id))
            ->queryRow();
    
    Run Code Online (Sandbox Code Playgroud)

    那么我应该在哪里编写查询构建器查询?如果我在相应的表模型中写它们有什么好处吗?

  4. 如果我使用DAO或查询构建器,哪个类应该扩展我的模型?

  5. 如果我遵循DAO方法或查询构建器方法,如何验证用户输入?

php activerecord dao yii query-builder

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

Yii使用SQLite使用外键创建表

我正在尝试使用这样的外键创建表(使用迁移)

public function safeUp()
{
    $this->createTable('tbl_category', array(
        'id'=>'pk',
        'title'=>'string NOT NULL',
        'url'=>'string NOT NULL UNIQUE'
    ));
    $this->addForeignKey('FK_category', 'tbl_product', 'category_id', 'tbl_category', 'id', 'CASCADE', 'NO ACTION');    
}
Run Code Online (Sandbox Code Playgroud)

它完全适用于MySQL,但现在我想使用SQLite,这个代码给出了一个错误,在SQLite中我无法将外键添加到现有表中,所以我查看了createTable方法的定义:

public integer createTable(string $table, array $columns, string $options=NULL)
Run Code Online (Sandbox Code Playgroud)

并尝试使用$optionsparam在那里添加我的外键,但它生成了这个:

CREATE TABLE 'tbl_category' (
    "id" integer PRIMARY KEY AUTOINCREMENT NOT NULL,
    "title" varchar(255) NOT NULL,
    "url" varchar(255) NOT NULL UNIQUE
)
CONSTRAINT FK_category
FOREIGN KEY tbl_product(category_id)
REFERENCES tbl_category(id)
ON DELETE CASCADE ON UPDATE NO ACTION
Run Code Online (Sandbox Code Playgroud)

显然,"CONSTRAINT ..."代码应该在这些括号内,但事实并非如此.那么如何创建这个外键呢?

sqlite activerecord yii

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

如何在Yii查询生成器中使用SQL IN()

我想使用Yii查询构建器执行以下查询

$ sql =“从(1,2,3,)中的用户标识的用户选择*”

请帮助..

php yii

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

相当于CakePHP $ this-> params来检索Yii上的所有POST/GET?

在CakePHP上,我们可以使用ALL POST/GET

$this->params
Run Code Online (Sandbox Code Playgroud)

在Yii,我不确定它是否具有等价物.只看到我想得到一个字段值,无论是(POST/GET),但我需要指定它.

Yii::app()->request->getParam('email')
Run Code Online (Sandbox Code Playgroud)

cakephp params yii

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

yii dropdownList显示相同的值?

我在项目中的前任没有在表格中保存下拉列表值; 他们在html文件中...这家伙也没有$form->dropdownList()用来创建选择......

当然,我现在遇到了在编辑时预先选择值的巨大问题; 因此,我改变了所有<select>$form->dropdownList().

但现在我有一个不同的问题,如

echo $form->dropdownList($model,'location',
        array("Art","Gallery","Bar","Club"));
Run Code Online (Sandbox Code Playgroud)

现在为DB生成整数值...

我知道我可以像这样设置显示值:array("Art"=>"Art")....但我宁愿避免这种情况 - 有一堆视图直接显示值...... :(

有没有办法告诉yii DB值应与显示值相同?

yii drop-down-menu

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

yii-user extension include(WebUser.php)没有这样的文件或目录

我正在尝试按照此官方教程安装yii-user的扩展

http://www.yiiframework.com/extension/yii-user/#hh2

但是我遇到了一些问题,特别是当我添加它时

 user'=>array(
        // enable cookie-based authentication
        'class' => 'WebUser',
        'allowAutoLogin'=>true,
        'loginUrl' => array('/user/login'),
Run Code Online (Sandbox Code Playgroud)

到配置主.当我添加此代码时,我有此消息错误

include(WebUser.php)[function.include]:无法打开流:没有这样的文件或目录

任何线索?我以前需要做点什么吗?

提前致谢

yii yii-extensions

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

yii cgridview排序不起作用

在此输入图像描述

这是我的网格视图.当我点击"电子邮件"标题时,标题旁边有一个箭头.但gridview没有重新加载来排序数据.
那么,问题是什么?我该怎么找到它?
谢谢...

================================================== =====

这是我的看法:

<?php $this->widget('zii.widgets.grid.CGridView', array(

            'id' => 'users-grid',

            'dataProvider' => $model->search(),
            'afterAjaxUpdate' => 'function(id, data) { var regex = data.match("data-counter=\"(.*)\""); $("#countUser").text(regex[1]); }',
            'filter' => $model,
            'template'=>'{items}<div class="nav-controller">{pager}</div>',
            'columns' => array(
                array(
                    'class' => 'CCheckBoxColumn',
                    'selectableRows' => '2',
                ),
                array(
                    'htmlOptions' => array('width'=>10),
                    'header' => 'No.',
                    'value' => '$this->grid->dataProvider->pagination->currentPage * $this->grid->dataProvider->pagination->pageSize + ($row+1)',
                ),
                array(
                    'name' => 'full_name',
                    'value' => '$data->first_name . \' \' . $data->last_name',
                ),
                'email',
                array(

                    'name' => 'gender',

                    'value' => '($data->gender == 1) …
Run Code Online (Sandbox Code Playgroud)

php sorting yii

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

Yii框架时间()与行为时间()不一样

我尝试在我的用户表中更新de last_login_time,但time()总是比使用该函数的updatedTime行为高5h

public function behaviors()
{
    return array(
        'timestamps' => array(
            'class' => 'zii.behaviors.CTimestampBehavior',
            'createAttribute' => 'create_time',
            'updateAttribute' => 'update_time',
            'setUpdateOnCreate' => true,
        )
    );
}
Run Code Online (Sandbox Code Playgroud)

我更新last_login_time的功能非常简单:

private function userLogedin()
{
    $user = User::model()->findByPk($this->auth->user_id);
    $user->last_login_time = date('Y-m-d H:i:s',time());
    return $user->save();
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能拥有与行为相同的时间?有没有更好的方式来创建这种更新?

非常感谢你!我是Yii的新手,这是我的第一个应用程序,所以请善待^^

php time frameworks yii

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