私は今、別のphp cmsシステムを使っているアプリケーションを持っています。私はこれをCakePHP 1.3に移しています。私はtblnewsarticles
のすべての私の古い記事を私の新しいCakePHPテーブルarticles
に転送する必要があると思っています。テーブルには異なるフィールドがありますが、必要なテーブルをすべて新しいテーブルにマップできました。 ArticlesController class
に私のためにこの操作を実行するために次の一時的なmigrate
関数を作成しましたが、私のテーブルに保存するデータはありません。私はdebug($data)
とdebug($articles)
でテストを行い、データを表示していますが、何も保存することはできません。私は、これは私が私のために働いた何をしたかIS ======== ...Cakephp 1.3:私の記事に移行する方法Tabel - Function
//TEMPORARY FUNCTION THAT WILL BE DELETED/DEACTIVATED AFTER MIGRATION
function migrate(){
// FOR TESTING PURPOSES I SET LIMIT=1, BUT I HAVE OVER 4000 ARTICLES TO TRANSFER
$articles = $this->Article->query(
"SELECT articleID,subcategoryID,article_title,article_html,article_date,image_extension FROM tblnewsarticles LIMIT 1;"
);
foreach($articles as $article){
$data['Article']['id'] = $article['tblnewsarticles']['articleID'];
$data['Article']['published'] = 1;
$data['Article']['title'] = $article['tblnewsarticles']['article_title'];
$data['Article']['body'] = $article['tblnewsarticles']['article_html'];
$data['Article']['main_image'] = 'cat_'.$article['tblnewsarticles']['subcategoryID'].'/'.$article['tblnewsarticles']['articleID'].'.'.$article['tblnewsarticles']['image_extension'];
$data['Article']['category_id'] = $article['tblnewsarticles']['subcategoryID'];
$data['Article']['user_id'] = 2;
$data['Article']['created'] = $article['tblnewsarticles']['article_date'];
if (!empty($data)) {
$this->Article->create();
$this->Article->save($data);
$this->Session->setFlash('Migration processed successfully');
}else{
$this->Session->setFlash('Unsuccessful');
}
}
}
をこのように任意のヘルプは高く評価されてと間違って何も見え==========することはできません======
function migrateArticle(){
$articles = $this->Article->query(
"SELECT articleID,subcategoryID,article_title,article_html,article_date,image_extension FROM tblnewscategories;"
);
foreach($articles as $article){
$categoryID = $article['tblnewsarticles']['subcategoryID'];
$articleID = $article['tblnewsarticles']['articleID'];
$articleTitle = $article['tblnewsarticles']['article_title'];
$articleSlug = str_replace(" ","-",strtolower($articleTitle));
$articleBody = $article['tblnewsarticles']['article_html'];
$articleImage = 'cat_'.$article['tblnewsarticles']['subcategoryID'].'/'.$article['tblnewsarticles']['articleID'].'.'.$article['tblnewsarticles']['image_extension'];
$articleDate = $article['tblnewsarticles']['article_date'];
$this->Article->query("INSERT INTO categories (id, published, title, slug, body, main_image, category_id, user_id, created) VALUES('$articleID', '1', '$articleTitle', '$articleSlug', '$articleBody', '$articleImage', '$categoryID', '2', '$articleDate');");
}
}
は、理由だけではなく、データベースレベルでこれをしませんか?おそらくコードははるかに少ないでしょう。 –
データベースレベル?申し訳ありませんが、どういう意味ですか? –
これは..thanks –