Laravel eloquent 如何从查询中排除计算附加字段?
Laravel eloquent how do I include exclude from a query a computed appended field?
我有这个代码 运行 没问题:
class Basket extends Model
{
use HasFactory;
...
protected $appends = [
...
'price'
];
....
public function getPriceAttribute($value){
... some heavy computing
return $totalPrice;
}
但我看到的是价格的计算将被执行,例如当我打电话时
Basket::all();
这是我想避免的事情
我只在每次输入 Basket::find(id) so 时才需要它。
到目前为止我还没有找到如何避免 eloquent 跳过或不跳过 getPriceAttribute
有什么想法吗?
创建访问器后,将值添加到模型上的追加 属性:
protected $appends = [
...
'price'
];
需要像下面这样附加到控制器中
$basket = Basket::find($request->id)->append('price');
我有这个代码 运行 没问题:
class Basket extends Model
{
use HasFactory;
...
protected $appends = [
...
'price'
];
....
public function getPriceAttribute($value){
... some heavy computing
return $totalPrice;
}
但我看到的是价格的计算将被执行,例如当我打电话时
Basket::all();
这是我想避免的事情
我只在每次输入 Basket::find(id) so 时才需要它。
到目前为止我还没有找到如何避免 eloquent 跳过或不跳过 getPriceAttribute
有什么想法吗?
创建访问器后,将值添加到模型上的追加 属性:
protected $appends = [
...
'price'
];
需要像下面这样附加到控制器中
$basket = Basket::find($request->id)->append('price');