2011-06-19 10 views
2

私は既存のウェブサイトを持っています。
iは、フロントエンドのprogrammを既存のフィールド名を別の名前として使用する

DBテーブルが
ID
news_date
news_title
news_contentとしてフィールド名を持っていることの不快感を変更することなく(CakePHPの中に)新しいバックエンド書き込み

cakephpモデルファイル(フィールド名の再入力)で何かできることはありますか? 私はコントローラーでモデルを使用することができます。
News.date
News.title
News.content

答えて

2

何をする必要があるセットアップニュースモデルでvirtual fieldsいくつかの非常に基本的な。このようなものはあなたのニーズに合っているはずです。

public $virtualFields = array(
    'title' => 'news_title', 
    'date' => 'news_date', 
    'content' => 'news_content' 
); 

はまた、あなたを助けることができる他のmodel attributesをチェックアウトすることで、自分に好意を行い、あなたは私が想像NEW_TITLEとしてdisplayTypeを設定することをお勧めします。

+0

をしかし、あなたは、条件の順序をそれらを使用することはできません。他のソリューションがあります – baur79

+0

http://book.cakephp.org/view/1642/Limitations-of-virtualFields – Dunhamzzz

1

これらの新しいフィールド名で作業するまで、Dunhamzz、virtualFieldsは良い解決策です。

フロントエンドでデータベースの古い名前を使用する必要があると仮定しているので、モデルでafterFindコールバックを使用します。
あなたがモデルnews.phpを持っているとしましょう:

はあなたの新しい希望値にデータベース・フィールドの名前を変更する必要があります。その後、他のすべてのフィールドのような条件でこれらを使用できます。
違いは、すべてのフィールドの名前がフロントエンドフィールドに変更された配列を返すことです。利用できるコールバックメソッドの詳細については

はこちらをご覧持っている:Callback Methods

関連する問題