2011-01-26 8 views
6

Powiel możliwe:
How do I add more than one row with Zend_Db?jak zbudować wielokrotne zapytania insert w Zend Framework

chciałbym zbudować tego zapytania

INSERT INTO ad-page (ad_name, page_name) VALUES ('value1', 'value2'), ('value3', 'value4') , .... 

Próbowałem ten co nie praca

 $adpagemodel = new Admin_Model_AdPage(); 

     if(count($adpage)> 0) 
      foreach($adpage as $page) 
      { 
       $newdatap[]['page_name'] = $page; 
       $newdata[]['ad_name'] = $adname;    
      } 
     $adpagemodel->insert($newdata); 

i sprawdź także this

Odpowiedz

21

Istnieje prosta opcja. Tworzenie kwerendy ręcznie;)

takiego:

$query = 'INSERT INTO ' . $db->quoteIdentifier('table') . ' (`col1`, `col2`) VALUES '; 
$queryVals = array(); 
foreach ($data as $row) { 
    foreach($row as &$col) { 
     $col = $db->quote($col); 
    } 
    $queryVals[] = '(' . implode(',', $row) . ')'; 
} 
$stmt = $db->query($query . implode(',', $queryVals)); 
2

Nie wszystkie bazy danych obsługują. Tak więc nie ma uniwersalnej odpowiedzi. Ale jeśli powiesz, co to jest DB, możemy zasugerować jakąś sztuczkę ... :-)

+0

używam bazy mysql –

+0

MySQL obsługuje to, ale jest problem nie wiem jak stworzyć tego oświadczenia przez dbmodel zamiast mam iteruj przez pętlę i wstawiaj wiele wartości –