如何在没有Eloquent的情况下创建Laravel模型?

Vol*_*il3 14 php orm laravel eloquent laravel-4

我不确定,是否可以使用DB Class而不是Eloquent创建模型?我想远离ORM.

谢谢

Swi*_*ftD 17

是的当然是可能的.您不需要扩展任何类来创建一个封装业务逻辑的模型类,并且包含调用DB类的方法.

只需app/models/MyModel.php像这样创建你的模型

class MyModel{

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

    }
}
Run Code Online (Sandbox Code Playgroud)

那么你应该可以静态地打电话给你的新班级:

$data = MyModel::getMyData();
Run Code Online (Sandbox Code Playgroud)

如果你想扩展数据库类,你可能希望扩展Database/Builder类以扩展功能,但这是一个复杂的主题,我怀疑你会问一个非常不同的问题,如果这就是你之后.

正如我最后指出的那样,我不会避开Eloquent,这是Laravel在很多其他伟大事物中最伟大的事情

  • 我总是避免在应用程序设计中添加 ORM/不必要的层。它可能会让开发人员满意,但不会让用户满意。感谢您的回答! (2认同)
  • @Votail3 各有千秋,但我发现性能相当,更少的代码意味着更少的错误和更多的时间让开发人员创建新功能来让这些用户满意,再加上我提到的更少的错误,我的用户现在非常高兴,我的开发人员也是如此。Eloquent 让世界变得更快乐,但我很欣赏他们的情况,我可能会放弃它。很棒的是你可以很容易地混合方法,也许专注于瓶颈查询优化。 (2认同)