2016-05-15 8 views
0

少し混乱します。私はMage::getModel('test/test')のようなmagento orm basicを使用しています。また、直接SQLクエリを使用して挿入、更新、削除を行っていますので、どちらの方が良いですか?直接SQLクエリを使用すると、マジェンタで質問しますか?どちらがどちらの方が優れていますか?教えてくださいMagento直接SQLクエリとmagento orm basic

答えて

0

ほとんどの/すべての操作では、Mage :: getModel()を使用する必要があります。たとえば、モデルの書き換えがある場合、それらの書き換えが機能するには、Mage :: getModel()を使用する必要があります。

さらに、Mage :: getModel()を使用すると、必要に応じてイベントオブザーバが確実に起動するようになります。ダイレクトSQLを使用すると、Magentoの試行錯誤した方法を迂回しています。あなたが何をしているのかよく分からない場合は、危険な領域に入ります。

可能であれば、Magentoのネイティブメソッドを使用してデータの整合性を維持してください。

+0

答えていただきありがとうございますが、直接SQLの使用は何ですか?直接SQLのマゼンタの任意の目的ですか? –

+0

直接SQLは 'INSERT INTO catalog_product_entity ....'のような文をタイプしています。 Magentoには、必要なすべてのデータベース操作がメソッド内に含まれているアーキテクチャがあります。 Magentoでは、データベースとやり取りするときに何度も、他のロジックも実行する必要があります。 Magentoのネイティブdbメソッドはこれを考慮に入れ、データベースのやりとりをより安全に保つことに重点を置いています。つまり、データベースを誤動作させる可能性は低いです。 –

+0

回答ありがとうございます –

関連する問題