パフォーマンスが問題でない場合ので、私は、最初のアプローチを好む:
はあなたのコードの100ヶ所で第二のアプローチを使用していると仮定します。ここで、特定の理由でテーブル名を変更したいとします。あなたは何をしますか?具体的に使用した場所100箇所を変更する必要がありますtable_name
。あなたが最初のアプローチを使用している場合
DB::table('table_name')->where(1)->get(); //change table_name in 100 palces
、あなたが
Model_Name::where(1)->get(); //no change here
を書かれているかもしれませんさて、あなたはただ何をすべきか、テーブル名を変更する必要があり、変更/テーブルプロパティを追加していますあなたのモデル。このようなもの:
class Model_Name{
protected $table = 'new_table_name'; //change table_name in one place
}
他には何もしません。あなたはあなたのテーブル名に非常に柔軟性があります。
注:最初のアプローチはEloquent ORMアプローチであり、ORM
には多くの機能があります。一方、流暢なクエリはより良い実行者です。これまでに何をしたいのかを使うことができます。しかし、では、両方のアプローチを1つのプロジェクトで混在させないようにするのは良い考え方です。
が.. – stack
upvoteだから、私は私ができるよう、可能な限り* 'ポスト::すべての()' *(雄弁な)を使用する必要が提案し、それが失敗した場合、その後、私は持っていただき、ありがとうございます'DB :: table( 'post') - > get' *(流暢なクエリビルダー)*を使用するのは正しいですか? – stack
私の提案はこれですが、それに応じて使用することができます。 –