У меня есть поле таблицы:
-title:New Product
-stock:9
-slug:new-product
И я хочу получить дополнительные данные «is_in_stock». Результатом будет:
-title:New Product
-stock:9
-slug:new-product
-is_in_stock:true
для отдельных данных я могу изменить результат на самом контроллере, но получаю стек при получении нескольких результатов данных. эксп. Продукт :: все ();
Я читал о красноречивых мутаторах и аксессорах. Я попробовал логику на файлах модели. Но я не знал, как получить результат.
Это мой код модели продукта:
class Product extends Model
{
protected $appends = ['is_in_stock'];
public function getIsInStockAttribute()
{
return $this->attributes['is_in_stock'] = false; // this will be boolean(true/false) result based on the current stock
}
}
Пожалуйста, помогите для любой подсказки или ссылки для меня, чтобы узнать.
Заранее спасибо 🙂
Наконец я нашел ссылку на http://laraveldaily.com/why-use-appends-with-accessors-in-eloquent/
Поэтому я изменяю свой код модели продукта на:
public function getIsInStockAttribute()
{
return ($this->stock > 0) ? true : false;
}
Других решений пока нет …