Laravel - Eloquent模型:检索为十进制的IP地址?

时间:2016-12-16 02:38:24

标签: laravel eloquent

我有一个Eloquent模型,代表一个存储IP地址的表。该列是varchar类型。 我的问题是检索到的IP地址似乎假设为小数而不是字符串。所以价值" 192.168.0.1"在数据库中检索为" 192"。 dd()将其作为数字返回(不带双引号)。

$data = MyModel::all();
dd($data[0]->ip_address); // "192.168.0.1" displayed as numeric 192
dd($data); // but this shows all IP addresses as string well

感谢您的帮助。

更新:ip_address是表格中的主键

2 个答案:

答案 0 :(得分:0)

看起来这是因为我把ip_address列作为主键。解决方案是在我的模型类中添加public $incrementing = false;

答案 1 :(得分:0)

只需将此值指定给您的模型

即可
class MyModel extends Model {
    protected $primaryKey = 'ip_address';

    public $incrementing = false;
}