Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP IP地址在循环中被截断_Php_Mysql_Laravel 5 - Fatal编程技术网

PHP IP地址在循环中被截断

PHP IP地址在循环中被截断,php,mysql,laravel-5,Php,Mysql,Laravel 5,我有一个包含IP地址的MySQL表: 当我在PHP中循环地址时,它们将被截断: string(3) "192" string(3) "192" string(3) "192" string(2) "80" 我的代码: public function getListaIndirizzi(Request $request) { // Paginazione if (!$request) { $validator = Validator::make($re

我有一个包含IP地址的MySQL表:

当我在PHP中循环地址时,它们将被截断:

string(3) "192"

string(3) "192"

string(3) "192"

string(2) "80"
我的代码:

public function getListaIndirizzi(Request $request) {

    // Paginazione
    if (!$request) {
        $validator = Validator::make($request->all(), [
                    "indirizzo1" => "ip",
                    "indirizzo2" => "ip"
        ]);

        if ($validator->fails()) {
            return redirect()->back()->withInput()->withErrors($validator);
        }

        $indirizzi = IP::whereBetween("IP", [$request->get("indirizzo1"), $request->get("indirizzo2")])->paginate(10);
    } else {
        $indirizzi = IP::paginate(10);
    }

    for($i =0; $i < count($indirizzi); $i++) {
        LogController::debug((string)($indirizzi[$i]["IP"]));
    }
    die;

    return view("lista_indirizzi", ["indirizzi" => $indirizzi]);
}

我认为你的问题的根源在模型的某个地方

模型中字段的类型看起来很像是整数,而不是字符串。因此,Laravel(或它的ORM)将在从数据库中获取字符串之后和使用它之前将其转换为整数

PoC:


计算结果为
(string)(192)
,因为
$indirizzi[$i][“IP”]
已经是整数“192”。

LogController::debug(($indirizzi[$i][“IP”])是一个打印参数变量转储的函数我想知道Laravel怎么会认为该字段是整数?以前在
getIPAttribute()
函数中是否有
(int)
<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Ip extends Model {

    //
    protected $table = "ip";

    protected $primaryKey = "IP";
    public $timestamps = false;

    protected $fillable = [
        "IP", "Bloccato"
    ];

    protected $hidden = [
        'DataCreazione', 'IDOperatoreCreazione', 'DataModifica', 'IDOperatoreModifica'
    ];

}
public function getIPAttribute($value) {
        return (string) $value;
}
<?php
$ip = "192.168.1.1";
echo (int)$ip; // prints "192"
LogController::debug((string)($indirizzi[$i]["IP"]));