Как я не уверен, можно ли создавать модели с классом DB вместо Eloquent? Я хочу держаться подальше от ORM.Как создать модель Laravel без Красноречивого?
Благодаря
Как я не уверен, можно ли создавать модели с классом DB вместо Eloquent? Я хочу держаться подальше от ORM.Как создать модель Laravel без Красноречивого?
Благодаря
Да, конечно, это возможно. Вам не нужно расширять любой класс, чтобы создать класс модели, который инкапсулирует бизнес-логику и состоит из методов, вызывающих класс DB.
Просто создайте модель внутри app/models/MyModel.php
как этот
class MyModel{
public static function getMyData(){
DB::table('users')->select('column')->get();
}
}
, то вы должны быть хорошо, чтобы назвать новый класс статически:
$data = MyModel::getMyData();
Если вы хотите расширить класс DB вы могли, хотя скорее, вы хотели бы расширить класс Database/Builder, чтобы расширить функциональность, но это сложная тема, и я подозреваю, что вы задали бы совершенно другой вопрос, если бы это было тем, что вам нужно.
В I заключительной ноте, я бы не держаться подальше от красноречивых, это самая большая вещь о Laravel среди многих других замечательных вещей
Просто удалить «расширяет Eloquent» и строить запросы с помощью класса DB.
Угадайте, что это не возможно http://stackoverflow.com/questions/16753029/laravel-4-is-it-possible-to-extend-the-db-class – Volatil3
You не следует расширять класс DB. Тогда это возможно. Просто используйте класс DB внутри методов модели. –
Гуфи,
Вы должны сделать вашу функцию статичной.
Например,
class Type {
public static function type_get() {
DB::table('story_types')->get();
}
}
Я всегда убегаю от ORM/ненужного добавления слоев в дизайн приложения. Это может сделать разработчика счастливым, но не пользователем. Спасибо за Ваш ответ! – Volatil3
@ Votail3 каждый по своему усмотрению, но я считаю, что производительность сопоставима и меньше кода означает меньше ошибок и больше времени для разработчиков, чтобы создавать новые функции, чтобы пользователи были довольны, в сочетании с меньшими ошибками. Я упомянул, что мои пользователи сейчас очень радостны, и мои разработчики тоже , Красноречивый делает мир более счастливым местом, но я действительно ценю, что это ситуации, когда я могу его бросить. Замечательно, что вы можете легко смешивать подходы, возможно, с упором на оптимизацию запросов узких мест. – WebweaverD
он говорит: * MyModel Class Не найден * Когда я пытаюсь позвонить в контроллер – Volatil3