If status=1 =>"Есть в наличии",else "Нет в наличии" Laravel 8
Всем привет. У меня есть таблица "Products" в ней есть поле "Status", она принимает Булевы значения, но как на выходе преобразовывать его в слова "Есть/нет в наличие"?
Где именно прописать это правило и можно ли вообще как-то выходящие данные из БД преобразовывать?
Полагаю нужен middleware? Само условие вроде простое, но как его во вьюхе потом использовать?
Пытался в модели "Product" прописать, но как из модели обратиться к полю в БД, так ведь работать не будет?
public function isAvailable(){
if(DB::where('status','1')){
echo 'Есть в наличии';
}else{
echo 'Нет в наличии';
}
}
В программирование не так давно, поэтому если банальщину спрашиваю не ругайтесь. Теорию читал, но на практике лучше усваивается) Заранее спасибо!
Ответы (1 шт):
Если делаете через модель Product то достаточно добавить мутатор для модели
public function getIsAvailableAttribute() {
return $this->status === 1 ? 'Есть в наличии' : 'Нет в наличии';
}
Теперь когда во вьюхе будете обращаться к экземпляру этой модели можете использовать $product->is_available