2014-11-30 16:04:37 18759次浏览 2条回答 7 悬赏 10 金钱

在列表页面,会有分类列表.
选中分类查询该分类下信息.
你们都是怎么做的?
在1中可以用$criteria->addCondition();

顺便再问个问题.
从表单提交过来的数据,
通过$model->load(Yii::$app->request->post())
这时候,信息提交并不完整,可能有些字段信息还未加入.
比如时间戳,状态等等.
通过$post['created'] = time();
$model->load(Yii::$app->request->post());
无效,请问各位是如何解决的?

补充于 2014-11-30 16:05

额,这编辑器效果太糟糕了,

最佳答案

  • ╃巡洋艦㊣ 发布于 2014-12-10 10:26 举报

    第一个问题:
    可以使用 andWhere() 追加查询条件。使用方法:

    $query = Post::find();
    $query->where(['category' => $category]);
    $query->andWhere(['type' => $type]);
    

    第二个问题:
    时间的插入一般是在 beforeSave() 中写入的。使用方法如下:

    public function beforeSave($insert)
    {
        if (parent::beforeSave($insert)) {
            if($insert) {
                $this->user_id = Yii::$app->user->id;
                $this->created_at = $this->updated_at = time();
            } else {
                $this->updated_at = time();
            }
            return true;
        } else {
            return false;
        }
    }
    
  • 回答于 2014-12-08 00:03 举报

    可以在

    $model->load(Yii::$app->request->post());
    

    之后加入

    $model->created = time();
    

    或者在beforeSave的时候$model->created = time();。当然,created字段得是safe...

您需要登录后才可以回答。登录 | 立即注册
liuser
职场新人

liuser

注册时间:2013-09-24
最后登录:2018-03-19
在线时长:4小时58分
  • 粉丝1
  • 金钱10
  • 威望0
  • 积分50

热门问题