Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 11.04.2018 16:50:11

Каким способом лучше делать SQL-запросы из Eloquent-модели?

Известно, что запросы к БД можно делать через Eloquent-модель (всё реализовано в родительских классах). Но я бы хотел вынести все SQL-запросы из контроллера в модель, то есть делать запросы из самой Eloquent-модели, а в контроллер возвращать лишь готовые выборки данных по определённым параметрам.

На данный момент я думаю сделать запросы через фасад DB. Как ещё можно сделать запросы к БД из Eloquent-модели?

Не в сети

#2 12.04.2018 14:32:38

Re: Каким способом лучше делать SQL-запросы из Eloquent-модели?

Добрый день.
Вот пример как вынести запросы из контроллера в модель
Controller

$orders=Orders::index();

Model Orders

	public static function index(){

		$orders=DB::table('orders')
			->join('status_orders','orders.status','=','status_orders.id')
			->select('status_orders.status_order','status_orders.color','orders.email','orders.name','orders.phone','orders.updated_at','orders.id')
			->orderBy('orders.id', 'desc')
			->paginate(env('PAGINATE_ADMIN', 30));

		return $orders;
	}

В итоге модель вернет $orders в контроллер

Не в сети

#3 12.04.2018 14:51:06

Re: Каким способом лучше делать SQL-запросы из Eloquent-модели?

Только вот зачем это делать через DB...

Не в сети

#4 12.04.2018 15:18:03

Re: Каким способом лучше делать SQL-запросы из Eloquent-модели?

Можно и без DB.
Такой вариант тоже будет работать
Model Orders

	public static function index(){

		$orders=Product::all();

		return $orders;
	}

Не в сети

Подвал раздела