Как я не уверен, возможно ли создавать модели с классом DB вместо Eloquent? Я хочу держаться подальше от ORM.
благодаря
Да, конечно, это возможно. Вам не нужно расширять любой класс, чтобы создать класс модели, который инкапсулирует бизнес-логику и состоит из методов, вызывающих класс DB.
Просто создайте свою модель внутри app/models/MyModel.php
как это
class MyModel{ public static function getMyData(){ DB::table('users')->select('column')->get(); } }
то вы должны быть в порядке, чтобы вызвать ваш новый класс статически:
$data = MyModel::getMyData();
Если бы вы хотели расширить класс DB, вы могли бы, хотя более вероятно, что вы хотели бы расширить класс Database / Builder для расширения функциональности, но это сложная тема, и я подозреваю, что вы задали бы совершенно другой вопрос, если бы это было то, что вы были после.
Как я окончательно заметил, я бы не избежал «Красноречивого», это самое замечательное в Laravel среди множества других замечательных вещей
Просто удалите «extends Eloquent» и создайте запросы, используя класс DB.
Гуфи,
Вы должны сделать свою функцию статической.
Например,
class Type { public static function type_get() { DB::table('story_types')->get(); } }