YII 多表联查

<?php


namespace backend\models;


use Yii;
use yii\db\ActiveRecord;


class Category extends ActiveRecord
{
//    public $id;
    public static function tableName()
    {
        return '{{shop_category}}';
    }






    function relations() {
        return array(
            'id' => array(self::HAS_ONE,'shop_category_sale_attr','c_id'),
        );
    }


    public function getCategoryList( $where = []  ){


        return $this -> find() -> where( $where ) -> asArray() -> all();
    }


    public function getSaleAttr()
    {
        return $this->hasMany(SaleAttr::className(), ['c_id' => 'id']);
    }


}
public  function actionGetSaleAttr(){


        $this -> layout = false;


        $check = $this -> checkRequest();


        if( !empty($check) ){
            return $check;
        }


        #查询分类对应的属性
        $c_id = Yii::$app -> request ->post('c_id');




        # 根据分类查询 分类属性


//        $category = Category::findOne($c_id);
//
//        $attr_obj = $category -> getSaleAttr()  ->all();
//
//
        foreach( $attr_arr as $key => $value ){
            $value_id[] = $value['id'];
        }
//
//        var_dump($attr_obj);exit;
//        $attr_obj = $attr_arr -> SaleAttrValue();




        $where = [
            'shop_category.id' => $c_id ,
        ];


        saleAttr::find() ->create() ->createCommand() ->query();
        $arr = saleAttr::find()
            -> joinWith('category')
            -> joinWith('saleAttrValue')
            -> where( $where)
            -> asArray() -> all();






        echo $this -> render(
            'show2',
            [
                'attr' => $arr
            ]
        );


//        echo $this -> render(
//            'show',
//            [
//                'attr' => $arr
//            ]
//        );






    }



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

奇葩也是花

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值