【问题标题】:Laravel accessors appends to all resultsLaravel 访问器附加到所有结果
【发布时间】:2015-10-24 06:28:55
【问题描述】:

我有一个表格字段:

产品

-title:New Product
-stock:9
-slug:new-product

我想要的是获得额外的数据'is_in_stock'。结果将是:

产品

-title:New Product
-stock:9
-slug:new-product
-is_in_stock:true

对于单个数据,我可以在控制器本身上修改结果,但是在获取多个数据结果时我会得到堆栈。 exp。 Product::all();

我读过 Eloquent Mutators 和 Accessors。我已经尝试过模型文件的逻辑。但我不知道如何得到结果。

这是我的产品型号代码:

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

请帮助我学习任何线索或参考。

提前谢谢你:)

【问题讨论】:

    标签: php laravel laravel-5.1 accessor


    【解决方案1】:

    终于在http://laraveldaily.com/why-use-appends-with-accessors-in-eloquent/上找到了参考

    所以我将我的产品型号代码更改为:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-01-06
      • 1970-01-01
      • 2019-11-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多