我有一个奇怪的情况,这是我在使用Laravel时从未见过的。 我在不同的设置上有相同的代码库,在IPv4 VM中有1个,在IPv6 VM中有1个。
这是数据库中的数据。
这就是我通常查询它的方式。
// $ap = '102030405067';
$gw = Gateway::where('cpe_mac','=',$ap)->first();
dd($gw);
在我的IPv4设置中,我得到了:
{#541 ▼
+"id": 1
+"account_id": "50"
+"cpe_mac": "102030405067"
+"gw_id": "1956692524588882"
+"gw_secret": "zUIyaQfCntob2thL6uR4uQfBvmlCei-5q_oVSJnyeSc"
+"fb_wifi_enable": "1"
+"created_at": "2017-10-10 14:41:17"
+"updated_at": "2017-10-10 14:41:17"
}
在我的IPv6设置中,我得到了:
null
dd(Gateway::all());
。
在IPv4中,我获得了所有返回的记录。
在IPv6中,我得到了这个空集合
Collection {#542 \u25bc
#items: []
}
最令人困惑的部分是,其他表似乎工作正常,这gateways
似乎是唯一导致问题的表。
我检查了我的网关型号名称和表格名称。他们拼写相关。
你们之前见过这样的事吗?
如何进一步调试此问题?
我还应该尝试什么?
答案 0 :(得分:2)
说实话 - 我认为不可能。
确保$ap
在两种情况下都包含完全相同的值。您可以使用trim($ap)
,以防双重确定它不包含额外的特殊字符。
还要确保在两个VM上您在数据库中具有相同的数据。现在看来,在一个虚拟机中,您在数据库中拥有数据,而在第二个虚拟机中,您似乎没有。
修改强>
Laravel不可能存在直接问题,所以:
SELECT * FROM gateways
以验证您是否有任何记录(您还没有提到两个虚拟机都在使用相同的数据库,所以我假设他们是不同的).env
文件php artisan config:clear
上的答案 1 :(得分:0)
什么是IP地址?什么是IPv6,IPv4协议,它们之间有什么区别?
什么是IP地址?
IP(Internet协议)是将数据从一台计算机发送到Internet上另一台设备的协议。互联网上的每台计算机都具有与互联网上的所有其他计算机不同的IP地址。 IP地址是网络上计算机或设备的数字地址和标识符。每个设备都有一个IP地址并用于通信。Internet协议版本4(IPv4)
Internet协议版本4(IPv4)是Internet协议(IP)的第四个版本。由于该协议支持所有设备,因此今天最常用于通过各种网络进行数据通信。IPv4于1970年发明。
Internet协议版本6(IPv6)
Internet协议版本6(IPv6)这是Internet的最新更新版本协议。这样就为计算机提供了一个识别和定位系统,并通过互联网路由流量。 IPv6于1998年发明。
IPv4与IPv6之间的差异
IPv4
1.IPv4是一个32位地址。 2.IPv4是编号地址方法。
IPv6
1.IPv6是128位地址。 2.IPv6是字母数字地址方法。
有关更多信息,请click在这里