web-dev-qa-db-ja.com

Laravel Eloquentのないモデルを作成する方法は?

よくわかりませんが、Eloquentの代わりにDBクラスを使用してモデルを作成することは可能ですか? ORMに近づかないようにしたい。

ありがとう

15
Volatil3

はい、もちろん可能です。ビジネスロジックをカプセル化し、DBクラスを呼び出すメソッドで構成されるモデルクラスを作成するために、クラスを拡張する必要はありません。

このようにapp/models/MyModel.php内にモデルを作成するだけです

class MyModel{

    public static function getMyData(){
         DB::table('users')->select('column')->get();

    }
}

次に、新しいクラスを静的に呼び出すことができます。

$data = MyModel::getMyData();

DBクラスを拡張したい場合は、データベース/ビルダークラスを拡張して機能を拡張することを検討している可能性が高いですが、これは複雑なトピックであり、これがあなたの目的である場合は、まったく異なる質問をしたと思います。後だった。

私が最後に注意するように、私はEloquentを避けません、それは他の多くの素晴らしいものの中でLaravelについての最大のことです

17
SwiftD

「extendsEloquent」を削除し、DBクラスを使用してクエリを作成するだけです。

2
m1kfb