我正在使用varbinary(16)将ips存储在数据库中,如此处https://stackoverflow.com/a/24270808/5717102所述。
我要使用inet_ntop
和inet_pton
来转换为人类可读和二进制格式。
效果很好,但不适用于where查询。
MyModel::where('ip', $ip)->get();
我想念的东西不行吗?我已经在Google上搜索过,但是找不到任何有用的信息。
答案 0 :(得分:1)
访问器和变异器不适用于查询。因此,您应该以{{1}}
的身份访问它如果您想将其提取出来,则可以进一步创建一个作用域并将逻辑移至模型。
MyModel::where('ip', inet_pton($ip))->get()
并以
访问 public function scopeWhereIp($query, $ip)
{
return $query->where('ip', inet_pton($ip));
}
答案 1 :(得分:0)
尝试一下
MyModel::where('ip','=',$ip)->get();