gpt4 book ai didi

php - Laravel Eloquent ORM : setting datatypes of the model

转载 作者:行者123 更新时间:2023-12-05 02:23:13 24 4
gpt4 key购买 nike

目前我有一个包含两行的简单表格:idkey

每当我尝试使用 City::get() 从数据库中获取数据时,响应都会包含字符串格式的 id 列。

有没有一种简单的方法/包可以定义每个列的数据格式?例如。 - 本例中的 id 应该是一个整数。

型号:

<?php
class City extends Eloquent {

protected $table = 'cities';
protected $primaryKey = 'Id';

}

Controller :

class CityController extends \BaseController {

public function index()
{
var_export(is_integer(City::get()->first()->Id));
var_export(is_string(City::get()->first()->Id));
die;
}

}

输出:

false
true

最佳答案

Eloquent 模型有一个属性casts,可用于提示每个模型属性的类型。

这是我对锁定到 PHP 5.4 的遗留应用程序使用 Eloquent 的案例。由于一些随机原因,我没有尝试弄清楚,每个属性都作为字符串从数据库中检索,默认的 PHP 转换导致我出现问题。

您的代码将是:

<?php
class City extends Eloquent {
protected $table = 'cities';
protected $primaryKey = 'Id';
protected $casts = [
'Id' => 'int'
];
}

关于php - Laravel Eloquent ORM : setting datatypes of the model,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24528062/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com