Как пройти несколько уровней в массиве результатов поиска

0

Вызов метода поиска торта в моей таблице следующим образом:

$this->Client->find('all',['recursive' => -1])

возвращается

array(
(int) 0 => array(
    'Client' => array(
        'id' => '1',
        'name' => 'Intel Corporation',
        'website' => 'www.intel.com',
        'address' => '2200 Mission College Blvd.',
        'city' => 'Santa Clara',
        'state' => 'CA',
        'zip' => '95054'
    )
),
(int) 1 => array(
    'Client' => array(
        'id' => '3',
        'name' => 'Motorola Mobility LLC',
        'website' => 'www.motorola.com',
        'address' => '222 W. Merchandise Mart Plaza',
        'city' => 'Chicago',
        'state' => 'IL',
        'zip' => '60654'
    )
),
(int) 2 => array(
    'Client' => array(
        'id' => '4',
        'name' => 'Nokia',
        'website' => 'www.nokia.com',
        'address' => '6000 Connection Drive',
        'city' => 'Irving',
        'state' => 'TX',
        'zip' => '75039'
    )
),)

Я хочу удалить избыточный уровень массива "Клиент":

array(
(int) 0 => array(
    'id' => '1',
    'name' => 'Intel Corporation',
    'website' => 'www.intel.com',
    'address' => '2200 Mission College Blvd.',
    'city' => 'Santa Clara',
    'state' => 'CA',
    'zip' => '95054'
),
(int) 1 => array(
    'id' => '3',
    'name' => 'Motorola Mobility LLC',
    'website' => 'www.motorola.com',
    'address' => '222 W. Merchandise Mart Plaza',
    'city' => 'Chicago',
    'state' => 'IL',
    'zip' => '60654'
),
(int) 2 => array(
    'id' => '4',
    'name' => 'Nokia',
    'website' => 'www.nokia.com',
    'address' => '6000 Connection Drive',
    'city' => 'Irving',
    'state' => 'TX',
    'zip' => '75039'
),

);

Я хотел бы сделать это в родном Cake, с вызовом param или что-то в этом роде, но если мне нужно сделать это в функции php array, пожалуйста, объясните. Это в основном данные для разбивки на страницы.

Теги:
arrays
cakephp-2.0

1 ответ

1
Лучший ответ

Именно так Торт делает это.

Вы уверены, что перемещение внутреннего массива даже необходимо? Вы можете просто использовать его как есть...

Во всяком случае, перемещение внутреннего массива довольно тривиально:

foreach ($clients as & $client) {
    $client = $client['Client'];
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню