Аксессоры Laravel добавляются ко всем результатам

У меня есть поле таблицы:

товары

-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
}
}

Пожалуйста, помогите для любой подсказки или ссылки для меня, чтобы узнать.

Заранее спасибо 🙂

0

Решение

Наконец я нашел ссылку на http://laraveldaily.com/why-use-appends-with-accessors-in-eloquent/

Поэтому я изменяю свой код модели продукта на:

public function getIsInStockAttribute()
{
return ($this->stock > 0) ? true : false;
}
0

Другие решения

Других решений пока нет …