zoukankan      html  css  js  c++  java
  • 几个常见的Laravel报错及解决方法

    报错:「Can’t swap PDO instance while within transaction」

    transactions >= 1) {
    throw new RuntimeException("Can't swap PDO instance while within transaction.
    ");
    }
    $this->pdo = $pdo;
    return $this;
    }
    ?>

    报错:「Cannot delete job : NOT_FOUND」


    几个常见的Laravel报错及解决方案

    报错:「No query results for model」

    bar = Bar::find($id);
    }
    public function handle()
    {
    // $this->bar
    }
    }
    ?> bar = Bar::onWriteConnection()->find($id);
    }
    public function handle()
    {
    // $this->bar
    }
    }
    ?> class)->findOrFail($value->id) : $value;
    }
    ?> id = $id;
    }
    public function handle()
    {
    $bar = Bar::onWriteConnection()->find($this->id);
    }
    }
    ?>

    PHP的DOM内部是utf8机制的,在loadHTML时,是通过检查字符中meta的charset来设置编码的,如果没有charset,就当iso8859进行处理了,而这种情况下进行saveXML时,输出来的却是utf8,所以就看到乱码了.

    这么说是不是还不太理解,举个例子:

    $xml = new DOMDocument(); @$xml->loadHTML('<div>我就是测试看看</div>'); $dom = new DOMXPath($xml); echo $dom->query('//div')->item(0)->saveXML();

    打开网页执行,你会发现输出乱码了,那如何解决这个问题呢?有两种方式.

    第一种:在loadHTML的时候指定编码,下面这段代码引用自php.net官方文档中的回复,代码如下:

    $doc = new DOMDocument(); $doc->loadHTML('<?xml encoding="UTF-8">' . $html); foreach ($doc->childNodes as $item) { if ($item->nodeType == XML_PI_NODE) { $doc->removeChild($item); // remove hack } } $doc->encoding = 'UTF-8'; // insert proper

    第二种方法:通过iconv对输出的字符重新转换,代码如下:

    echo iconv("UTF-8", "GB18030//TRANSLIT", $dom->saveXML($n) );

  • 相关阅读:
    第三章感想
    第二章感想
    第一章感想
    第9章 硬件抽象层:HAL
    第10章 嵌入式linux的调试技术
    第8章 蜂鸣器驱动
    第七章 I/O
    第六章 编写Linux驱动程序
    第五章 S3C6410
    源代码的下载和编译
  • 原文地址:https://www.cnblogs.com/2881064178dinfeng/p/6203333.html
Copyright © 2011-2022 走看看