Cakephp: обновление объекта Array эквивалентным значением столбца в таблице - PullRequest
0 голосов
/ 19 декабря 2018

Я сохранил нижеприведенное в таблице настроек:

Array(
    A => 2, B => 2, C => 0, D => 2,
    E => 2, F => 0, G => 2, H => 0,
    I => 2, J => 0, K => 0, L => 0,
    M => 0, N => 0, O => 0, P => 0,
    Q => 0
)

и хотел бы заменить значение столбца псевдонима на значение столбца id при использовании в коде, чтобы я получил:

Array(
    35 => 2, 24 => 2, 14 => 0, 12 => 2,
    22 => 2, 8 => 0, 21 => 2, 17 => 0,
    7 => 2, 10 => 0, 9 => 0, 13 => 0,
    18 => 0, 15 => 0, 16 => 0, 6 => 0, 11 => 0
)

Данные таблицы:
enter image description here

В Cakephp ищите более простой способ добиться этого.Спасибо тебе.

1 Ответ

0 голосов
/ 19 декабря 2018

Итак, если вы храните данные, которые вы извлекаете из БД, в массиве, например так:

$arr1 = Array( 35 => 'A', 24 => 'B', 14 => 'C', 12 => 'D', 22 => 'E', 8 => 'F')
$arr2 = Array( 'A' => 2, 'B' => 2, 'C' => 0, 'D' => '2', 'E' => 2, 'F' => 0)

сейчас, мы можем сравнить массивы и произвести замену следующим образом:

foreach($arr1 as $key=>&$value){
    if(array_key_exists($value, $arr2)){
        $value = $arr2[$value];
    }

}
print_r($arr1);

увидеть его в действии здесь

...