如果我有一个像'price'这样的列作为小数,当我从数据库获得这个值时,它返回一个字符串而不是小数或浮点数。我该如何解决这个问题?
您可以在显示之前这样做;
$price = (float)$product->price;
或者你可以创建一个函数,它会工作。
您可以通过在模型
中进行cast来解决整个项目。protected $casts = ['column_name' => 'type'];
的例子:
protected $casts = ['price' => 'float'];
文档链接:点击这里
在迁移中确保列是十进制
public function up(): void
{
Schema::create('products', function (Blueprint $table) {
$table->decimal('price');
});
}
然后在模型中强制转换:
protected $casts = [
'price' => 'decimal:2',
];
现在你可以在控制器或前端中检索它
$price = Product->price; --> in the Controller
{{ $product->price }} --> in the view