Hitsuzen:
заметьте, что у вас изначально кривой массив, с которым будет невозможно работать.
вот вам алгоритм:
1) делаете запрос, если необходимо на логин в базу
2) делаете запрос на вопросы к данному логину , получается таблица, типа
id / q_text / results / answers
где answers - это строка с делителями типа ';', либо это дополнительная таблица , но это чуть сложнее будет при формировании запросов на базу.
3) далее формируете массив, как вашей душе угодно.
Александр: не разобрался, как делать эту последовательность.
код -
$model = new Model;
$model->title='title';
$model->save();
приводит к ошибке, утыкаясь в этой функции.
Собственно, задача решилась таким кодом
Yii::$app->db->createCommand(
"select id from (INSERT INTO street (name_ru) VALUES ('тест') RETURNING id) ")->query();
Ошибка была в том, что при создании записи, триггер делает в hex формате новое число, и первичный ключ хранится в varchar (не моя идея, говорят, что так надо в 1с, я использую только бд).
И выборка на последний ключ не работает. Поэтому при вставке, я заменил код на вставку вручную.
Dmitry Bay
@kawabanga Автор вопроса, куратор тега Yii
Владимир Коровин: версия последняя. буквально вчера через композер ставил. Главное что с редактированием проблем нет. Ладно, буду смотреть, в чем проблема.
заметьте, что у вас изначально кривой массив, с которым будет невозможно работать.
вот вам алгоритм:
1) делаете запрос, если необходимо на логин в базу
2) делаете запрос на вопросы к данному логину , получается таблица, типа
id / q_text / results / answers
где answers - это строка с делителями типа ';', либо это дополнительная таблица , но это чуть сложнее будет при формировании запросов на базу.
3) далее формируете массив, как вашей душе угодно.
$out = [];
$out['login'] = $login; //полученный логин
$out['questions'] = [];
foreach ($questions as $question) {
$out['questions']['quest'.$question['id']] = [
'quest' => $question['q_text'],
'result' => $question['result'],
'answers'=> explode(';', $question['answers'])
];
}
var_dump($out);