代码之家  ›  专栏  ›  技术社区  ›  Lawrence Barsanti

Cakephp:是否可以Model->find('all')返回没有模型名称的结果

  •  2
  • Lawrence Barsanti  · 技术社区  · 16 年前

    使用模型->find('all')返回一个具有以下结构的数组:

    array(
      0 => array('Model1' => array(/* Model1 fields*/), 'Model2' => array(/* Model2 fields*/), ...),
      1 => array('Model1' => array(/* Model1 fields*/), 'Model2' => array(/* Model2 fields*/), ...),
      ...)
    

    array(0 => /* Model1 fields*/, 1 => /* Model1 fields*/, etc...)
    

    我想我前一段时间在某个地方读到过这篇文章,但不知道该怎么做,也不知道是否可能。

    3 回复  |  直到 16 年前
        1
  •  1
  •   Travis Leleu    16 年前

    这个怎么样?适用于php 5.4+

    $result = array_map( function ($elem) {
            return $elem['YourModelName'] ;
        } ,$this->Tagcloud-> find('all')
    );
    

    对于较旧的php版本,您需要在获取结果后进行迭代

        2
  •  2
  •   Ignacio Vazquez    11 年前

        3
  •  1
  •   deceze    16 年前

    array(
        0 => array(
            'Model' => array(
                'id',
                'field1',
                ...
             ),
            'belongsTo/hasOneModel' => array(
                'id',
                'field1',
                ...
             )
            'habtm/hasManyModel' => array(
                0 => array(
                    'id',
                    'field1',
                    ...
                ),
                1 => array(
                    ...
                )
            )
        ),
        1 => array(
            'Model' => array(
                ...
            ),
            ...
        )
    )