Cake-PHP.ru
Форум программистов CakePHP
(на сайт)
Watched Topics
FAQ
Поиск
Пользователи
Группы
Регистрация
Профиль
Войти и проверить личные сообщения
Вход
Список форумов Cake-PHP.ru
->
Общий
Ответить
Имя
Тема
Сообщение
Смайлики
Дополнительные смайлики
Цвет шрифта:
По умолчанию
Тёмно-красный
Красный
Оранжевый
Коричневый
Жёлтый
Зелёный
Оливковый
Голубой
Синий
Тёмно-синий
Индиго
Фиолетовый
Белый
Чёрный
Размер шрифта:
Размер шрифта
Очень маленький
Маленький
Обычный
Большой
Огромный
Закрыть теги
[quote="ясен_пень"]Не хотит почему-то. Формирую массив, вроде как надо.Оно говорит типа все добавлено, но ничего не добавляется вот код, подскажите пожалуйста что я делаю не так.. [code]function add() { $this->loadModel('Ocenki'); $this->loadModel('Student'); $ocen = $this->Ocenki->query('select MAX(Ocenki.id) from ocenkis as Ocenki'); $this->set('ocenkis', $ocen); $stud = $this->Student->query('select Student.id from students as Student'); $this->set('students',$stud); $i = 0; foreach($stud as $st) { $ar [$i]= array ( 'student_id' => $st['Student']['id'], 'zanyatie_id' => $ocen[0][0]['MAX(Ocenki.id)'], 'ocenka' => null ); $i++; } if (!empty($this->data)) { $this->Zanyaty->create(); if ($this->Zanyaty->save($this->data)) { // $this->Ocenki->saveAll($ar['Ocenki']); // $this->Session->setFlash(__('The Zanyaty has been saved', true)); $this->redirect(array('action'=>'index')); } else { $this->Session->setFlash(__('The Zanyaty could not be saved. Please, try again.', true)); } } $predmets = $this->Zanyaty->Predmet->find('list'); $this->set(compact('predmets')); }[/code] Заранее благодарен.[/quote]
Настройки
HTML
ВЫКЛЮЧЕН
BBCode
ВКЛЮЧЕН
Смайлики
ВКЛЮЧЕНЫ
Отключить в этом сообщении BBCode
Отключить в этом сообщении смайлики
Если у вас плохое зрение или вы не можете прочесть этот код по какой-то другой причине, то обратитесь за помощью к
Администратору
.
Код подтверждения: *
Введите код в точности так, как вы его видите. Код является регистро-зависимым, а символ нуля имеет косую линию внутри цифры.
Часовой пояс: GMT + 3
Перейти:
Выберите форум
CakePHP Форум
----------------
Общий
Установка и настройка
Творчество
Вопросы и пожелания
Комментарии к главам руководства по CakePHP 1.1
Обзор темы
Автор
Сообщение
ясен_пень
Добавлено: 20 Дек 2009 10:46:45
Заголовок сообщения:
Все починил, спасибо большое
ясен_пень
Добавлено: 17 Дек 2009 18:45:14
Заголовок сообщения:
Не хотит почему-то. Формирую массив, вроде как надо.Оно говорит типа все добавлено, но ничего не добавляется
вот код, подскажите пожалуйста что я делаю не так..
Код:
function add() {
$this->loadModel('Ocenki');
$this->loadModel('Student');
$ocen = $this->Ocenki->query('select MAX(Ocenki.id) from ocenkis as Ocenki');
$this->set('ocenkis', $ocen);
$stud = $this->Student->query('select Student.id from students as Student');
$this->set('students',$stud);
$i = 0;
foreach($stud as $st) {
$ar [$i]= array ( 'student_id' => $st['Student']['id'],
'zanyatie_id' => $ocen[0][0]['MAX(Ocenki.id)'],
'ocenka' => null
);
$i++;
}
if (!empty($this->data)) {
$this->Zanyaty->create();
if ($this->Zanyaty->save($this->data)) {
//
$this->Ocenki->saveAll($ar['Ocenki']);
//
$this->Session->setFlash(__('The Zanyaty has been saved', true));
$this->redirect(array('action'=>'index'));
} else {
$this->Session->setFlash(__('The Zanyaty could not be saved. Please, try again.', true));
}
}
$predmets = $this->Zanyaty->Predmet->find('list');
$this->set(compact('predmets'));
}
Заранее благодарен.
ANRI_K
Добавлено: 17 Дек 2009 15:43:38
Заголовок сообщения:
Передаешь в метод save() массив вида:
Код:
Array
(
[ModelName] => Array
(
[fieldname1] => 'value'
[fieldname2] => 'value'
)
)
Для saveAll()
1) Для сохранения множества записей одной модели:
Код:
Array
(
[0] => Array
(
[title] => title 1
)
[1] => Array
(
[title] => title 2
)
)
Команда для сохранения данных, приведенных выше, будет выглядеть так:
<? $this->Article->saveAll($data['Article']); ?>
2) Для сохранения записи вместе со связанной записью, имеющей ассоциации hasOne или belongsTo, массив данных должен выглядеть так:
Код:
Array
(
[User] => Array
(
[username] => billy
)
[Profile] => Array
(
[sex] => Male
[occupation] => Programmer
)
)
Команда для сохранения этих данных будет выглядеть так:
<? $this->Article->saveAll($data); ?>
3) Для сохранения записи вместе с связанными записями, имеющих hasMany ассоциацию, массив данных должен выглядеть так:
Код:
Array
(
[Article] => Array
(
[title] => My first article
)
[Comment] => Array
(
[0] => Array
(
[comment] => Comment 1
[user_id] => 1
)
[1] => Array
(
[comment] => Comment 2
[user_id] => 2
)
)
)
Команда для сохранения этого массива $data будет выглядеть так:
<? $this->Article->saveAll($data); ?>
На той странице, что я указал, расписано.
ясен_пень
Добавлено: 17 Дек 2009 14:36:02
Заголовок сообщения:
спасибо. Только почему то не хотит сохранять
А можно добавить записи не используя отображение?
ANRI_K
Добавлено: 16 Дек 2009 16:07:18
Заголовок сообщения:
функция saveAll
/wiki/Manual/Developing/Models/Saving
ясен_пень
Добавлено: 16 Дек 2009 15:55:28
Заголовок сообщения: добавление в две таблицы
Подскажите как сделать чтобы при добавлении данных из представления в таблицу некоторые данные добавлялись в другую таблицу.
Например есть таблицы Занятия, Оценки , Студенты, нужно чтобы при добавлении одного занятия добавились в таблицу Оценки количество записей равное количеству студентов.
Заранее благодарен
Powered by phpBB © 2001, 2005 phpBB Group
Русская поддержка phpBB
Если ничего интересного не нашли, можно рекламу почитать, а рекламируется у нас сегодня «».