У меня есть модель Food. Каждое блюдо имеет цену и скидку (в процентах). Я добавил атрибут стоимости для хранения значения, которое рассчитывается на основе первой цены и скидки.
Пример :
У нас есть еда с ценой 10 $. скидка 10%, поэтому стоимость 9 $.
class Food extends Model
{
protected $appends = ['cost'];
public function getCostAttribute()
{
return $this->price - round( ($this->price*$this->discount) / 100 );
}
}
Мне нужно заказывать продукты на основе стоимости. Я не могу использовать orderBy
, потому что стоимость не является столбцом. поэтому я должен использовать sortBy
.
$foods = Food::all();
$foods = $foods->sortBy(function($food){
return $food->cost;
});
Теперь, как я могу разбить на переменные $foods
? Потому что я не могу выполнить следующий код для разбивки на страницы
$foods = $foods->paginate(12);