将 php 数组保存到 mariadb 动态列
saving php array to mariadb dynamic colum
我有一个这样的数组
$test = array(
'Subscription' => '1',
'Streaming' => '1',
'Download' => '0'
)
所以在更新到 mariaDB 期间
$query = 'UPDATE table_1 set category_dynamic = COLUMN_CREATE(' . $test . ') where id = 1';
$this->Model->query($query);
我想这样保存数组('Subscription',1,'Streaming',1,'Download',0)
有什么建议吗?
你可以试试这个:
<?php
$test = array(
'Subscription' => '1',
'Streaming' => '1',
'Download' => '0'
);
$data = '';
foreach($test as $key=>$value)
{
$data .= '"'.$key.'"'.', '.$value.', ';
}
$data = rtrim($data,', ');
$query = 'UPDATE table_1 set category_dynamic = COLUMN_CREATE(' . $data . ') where id = 1';
希望能解决问题。
您可以使用 array_map and implode 的组合。
$test = array(
'Subscription' => '1',
'Streaming' => '1',
'Download' => '0'
);
$list = implode(',', array_map(function ($v, $k) { return "'".$k."'" . ',' . $v; }, $test, array_keys($test)));
$query = 'UPDATE table_1 set category_dynamic = COLUMN_CREATE(' . $list . ') where id = 1';
$this->Model->query($query);
我有一个这样的数组
$test = array(
'Subscription' => '1',
'Streaming' => '1',
'Download' => '0'
)
所以在更新到 mariaDB 期间
$query = 'UPDATE table_1 set category_dynamic = COLUMN_CREATE(' . $test . ') where id = 1';
$this->Model->query($query);
我想这样保存数组('Subscription',1,'Streaming',1,'Download',0)
有什么建议吗?
你可以试试这个:
<?php
$test = array(
'Subscription' => '1',
'Streaming' => '1',
'Download' => '0'
);
$data = '';
foreach($test as $key=>$value)
{
$data .= '"'.$key.'"'.', '.$value.', ';
}
$data = rtrim($data,', ');
$query = 'UPDATE table_1 set category_dynamic = COLUMN_CREATE(' . $data . ') where id = 1';
希望能解决问题。
您可以使用 array_map and implode 的组合。
$test = array(
'Subscription' => '1',
'Streaming' => '1',
'Download' => '0'
);
$list = implode(',', array_map(function ($v, $k) { return "'".$k."'" . ',' . $v; }, $test, array_keys($test)));
$query = 'UPDATE table_1 set category_dynamic = COLUMN_CREATE(' . $list . ') where id = 1';
$this->Model->query($query);