如何从Yii2中的select()访问值?

如何从Yii2中的select()访问值?,yii2,Yii2,如何访问从select()返回的值。我想要所有链接表中的所有ID。我将categoryMaster\u id作为一个参数传递,从中我需要剩余的id 以下是我迄今为止所做的工作: $categoryMaster= (new \yii\db\Query()) ->select('categoryMaster.categoryMaster_id,categoryMaster_name,categoryMaster_image, productType.productType_id

如何访问从
select()
返回的值。我想要所有链接表中的所有ID。我将
categoryMaster\u id
作为一个参数传递,从中我需要剩余的id

以下是我迄今为止所做的工作:

$categoryMaster= (new \yii\db\Query())
    ->select('categoryMaster.categoryMaster_id,categoryMaster_name,categoryMaster_image,
    productType.productType_id,productType.productType_type,
    product.product_id,product.product_name,product.product_description,
    productQuantity.productQuantity_id,productQuantity.productQuantity_name,productQuantity.productQuantity')
    ->from('categoryMaster')
    ->join('LEFT JOIN','productType', 'productType.categoryMaster_id = categoryMaster.categoryMaster_id')
    ->join('LEFT JOIN','product','product.productType_id = productType.productType_id')
    ->join('LEFT JOIN','productQuantity','productQuantity.product_id = product.product_id')
    ->where('categoryMaster.categoryMaster_id=:categoryMaster_id', ['categoryMaster_id' => $_GET['categoryMaster_id']])
    ->all();   
    $data['categoryMaster']= $categoryMaster; 

通过该查询,您拥有存储在数组中的模型集合
$data

$data['categoryMaster']= $categoryMaster;   
您可以迭代数组以检索每个模型并访问选定列

  <?php foreach ($data as $key => $value){
      echo "Key : ".$key. "<br />";
      echo $value->categoryMaster_id ."<br />";
      echo $value->categoryMaster_name ."<br />"
      .....
      echo $value->productQuantity ."<br />"

  }
如果在select中使用自定义列,则可能应该使用-查询将以数组而不是对象的形式返回结果

要从结果中提取指定的文件,您可以使用:

或使用闭包取出以下部件:

$productTypes = ArrayHelper::getColumn($result, function ($data) {
    return [
        'productType_id' => $data['productType_id'],
        'productType_type' => $data['productType_type'],
    ];
});

那么您希望将查询结果复制到
$data['categoryMaster']
?因此,您可以进一步使用它,就像arraysIt已经存在一样,{“categoryMaster_id”:“1”,“categoryMaster_名称”:“Dairy”,“categoryMaster_图像”:“Dairy_1534931165.jpg”,“productType_id”:“2”,“productType_type”:“Dahi”,“product_id”:“4”,“产品名称”:“产品描述”:“奶牛”,“产品数量id”:1,“产品数量名称”:2,“产品数量”:5}因此,您试图完成的是您已经从链接表中选择了id,您得到了什么结果集,但我想在其他地方也使用这些id。我如何访问它们
$productTypes = ArrayHelper::getColumn($result, function ($data) {
    return [
        'productType_id' => $data['productType_id'],
        'productType_type' => $data['productType_type'],
    ];
});