2012-03-27 2 views
2

Возможно ли серийное вложение записей в cakephp?Пакетная вставка записей в cakephp

Просьба ответить, если возможно, покажите мне несколько образцов?

Мой запрос будет выглядеть

INSERT INTO `job_places` (`id`, `country_code`, `group`, `name`) VALUES 
(1, 'DE', 3, 'Hamburg'), 
(6, 'FFF', 1, 'Frankfurt'); 

ответ

6

Вы saveAll для таких вещей, как это http://book.cakephp.org/1.3/view/1031/Saving-Your-Data

Используется для сохранения (а) несколько отдельных записей для одной модели, или (б) этой записи, а также все связанные записи Для сохранения нескольких записей одиночной модели, данные должны быть численным индексированным массивом :

Array (

>  [Article] => Array(
>   [0] => Array 
>    (
>        [title] => title 1 
>      ) 
>   [1] => Array 
>    (
>        [title] => title 2 
>      ) 
>    )) 

В вашем примере, вам необходимо отформатировать массив данных, как:

$data = array(
    'Job' => array(
     array('id' => 1, 'country_code' => 'DE', 'group' => 3, 'name' => 'Hamburg'), 
     array('id' => 6, 'country_code' => 'FFF', 'group' => 1, 'name' => 'Frankfurt') 
    ) 
); 

$this->JobPlace->saveAll($data['Job']); 

Ничто не сравнится пытается, когда вы изучаете что-то, чтобы дать, что идти и размещать какие-либо проблемы, вы испытываете а не ждать, пока кто-то опубликует точный код, где вы можете просто скопировать пасту.

+0

отредактировал мой ответ –

+2

Просто поместите имя модели задания в $ data $ this-> JobPlace-> saveAll ($ data ['Job']); иначе он не будет работать –

+0

Отлично! спасибо за обмен знаниями :) отредактирует –

Смежные вопросы