Laravel查看::渲染()给出了错误
问题描述:
我试图渲染它čćžšđ
字母的观点,但它的失败,给我这个错误:Laravel查看::渲染()给出了错误
The Response content must be a string or object implementing __toString(), \"boolean\" given."
我提取的部分,当我用正常的方式加载这个部分(使用@include),然后一切正常。 但我需要“加载更多”的功能,所以我使用这个部分来为我呈现html,并且我只使用jQuery将它附加到DOM。 这是部分:
<?php $flag = true; ?>
@foreach($tags as $tag)
@if(empty($tag->tag)) <?php continue; ?> @endif
@if($flag == true)
<?php $temp = $tag->tag[0]; ?>
<br><label class="firstLetterLabel">{{ strtoupper($temp) }}</label><br><hr><br>
<?php $flag = false; ?>
@endif
@if($temp != $tag->tag[0])
<br><label class="firstLetterLabel">{{ strtoupper($tag->tag[0]) }}</label><br><hr><br>
@endif
<div class="singleTag">
<a href="/tag/{{ $tag->id }}">{{ $tag->tag }}</a>
</div>
<?php $temp = $tag->tag[0]; ?>
@endforeach
这是我如何使用它“加载更多”功能:
$tags = Tag::orderBy("tag")->take(Config::get("settings.num_tags_per_page"))->skip(($page-1)*Config::get("settings.num_tags_per_page"))->get();
$data = array();
$data['data'] = View::make("discover.partials.tags")->with("tags", $tags)->render();
if(count($tags)%Config::get("settings.num_tags_per_page") == 0 && count($tags) > 0)
$data['msg'] = 'ok';
else
$data['msg'] = 'stop';
return json_encode($data);
这部分读取标签,并将它们按字母顺序排序,它提取每个标签的第一个字母因为我在其他地方需要那封信。 当这部分发现这些字母之一čćžšđ
然后它给了我上面的错误。
如何解决这个问题?
答
对于将来的通知,我用mb_substr($tag->tag, 0, 1)
更换$tag->tag[0]
解决了这个问题。这个命令从字符串中提取utf-8字符,而我以前的方法没有正确编码UTF-8字符。
答
试试这个:
json_encode($output, JSON_UNESCAPED_UNICODE)
不工作,我得到同样的错误,像以前一样 – Alen 2014-09-01 09:53:26