dingjj2010

dingjj2010

这家伙有点懒,还没写个性签名!

  • 财富值6440
  • 威望值360
  • 总积分10670

个人信息

  • Post::deleteAll(['and', 'id=:id', 'pid=:id'], [':id' => $id]);要满足2个条件,'id=:id' and 'pid=:id'
    Post::findOne($id)->delete();满足一条。'id=:id'
    先确认下pid是不是等于id。

  • 这个是有通过密匙加密的,密匙一般配置在components->request->cookieValidationKey,没有密匙解密。。。就不在我们研究范围了。
    至于解密的过程你可以查看yii\web\Request下的getCookies方法,看他怎么解密的。

  • 2015-11-02 已签到
    连续签到1天,获得了5个金钱
  • 这问题有点莫名其妙的。
    要查询表2的数据你直接查就好了。。要model_id一样 你条件直接model_id=多少,你传进去就好了。。。
    要所有根据表1的id分组,你直接查表1,然后用你的hasMany就好了。每个hasMany查出来的就是model_id相同的一类了。

  • 首先$model->attributes = $_POST['Cate'],attributes是所有字段名称的集合,你把post内容放进去有什么用。再怎么也应该是$model->setAttributes($_POST['Cate']);
    再,返回502,这个你最好贴一下log,不错我猜测是你save完成之后,就没有动作了。一般form提交的,成功或失败要跳转显示相应的页面,或者ajax要返回save后成功或者失败的值。

  • 回复了 的回答

    你應該先var_dump models 看看內容是甚麼!!
    hasMany : 一對多 => 一個客戶可以有很多訂單
    hasOne : 一對一 => 一個訂單只能有一個客戶

    把兩張 table join 起來:

    use app\models\Order;
    class Customer extends model
    {
      public function getOrder()
        {
        	return $this->hasMany(Order::classname(), ['id' => 'order_id']);
        }
    }
    
    use app\models\Customer;
    class Customer Controller extends Controller
    {
       $customer = Customer::find()->joinwith('order')->all();
       return $this->render('index',['customer' => $customer])
    }
    
    HTML :  一對多的狀況
    foreach($customer as $key => $val){    //
        $val->id; //各自的 customer['id']
        foreach($val['order'] as $or_key => $or_val){
            $or_val;    //訂單的資訊
        }
    }
    
    

    你的orders 是复数。。。估计是1对多,查询出来的。hasMany查询出来的即使也是只有一条数据,也要用orders[0]来获取。这么说吧:hasMany查询出来的本身就是个数组,查询出来的记录在数组里面,如[model1,model2],即使1条也是[model1]。hasOne查询出来就是一个记录,如:model1。

  • 首先:需要用<?php echo $orders->id; ?>取值。因为取出的是类,不是数组。类属性获取用->
    其次,获取数组形式的方式有两种,一种是在查询的时候,例如customer::find()->where($where)->with('order')->asArray()->all();返回的是数组形式,一种是获取了之后再转成数组,例如$customer = customer::findOne($where);$order = $customer->order;$orderArr = $order->toArray();

  • 2015-10-30 已签到
    连续签到4天,获得了20个金钱
  • 2015-10-29 已签到
    连续签到3天,获得了15个金钱
  • 回复了 的回答

    1.按照权威指南解释:yii\web\IdentityInterface::getAuthKey():获取基于 cookie 登录时使用的认证密钥。 认证密钥储存在 cookie 里并且将来会与服务端的版本进行比较以确保 cookie的有效性。具体引用位置在yii\web\user里面loginByCookie方法。
    2.需要在你的用户表里面添加这一个字段。
    3.直接返回id肯定是会出问题的,就比如你validateAuthKey()的时候就会出错,除非你authkey字段存的就是id的值。所以尽量是存的时候就用Yii::$app->security->generateRandomString()获取随机字符。
    4.getAuthKey(),应该返回AuthKey。

    估计是你没有用到loginByCookie,其他方式不会调用到这些方法。

10670/20000
资料完整度
20/100
用户活跃度
0/100

Ta的关注

2

Ta的粉丝

16

Ta的访客

55