我有一个运行正常的代码:
class Basket extends Model
{
use HasFactory;
...
protected $appends = [
...
'price'
];
....
public function getPriceAttribute($value){
... some heavy computing
return $totalPrice;
}
但我看到的是,价格的计算将被执行,例如,当我调用时
Basket::all();
我想避免
只有当我做一个Basket::find(id(时,我才想要它。
到目前为止,我还没有找到如何避免雄辩地跳过或不跳过getPriceAttribute
有什么想法吗?
创建访问器后,将值添加到模型的appends属性:
protected $appends = [
...
'price'
];
它需要像下面的一样附加在控制器中
$basket = Basket::find($request->id)->append('price');