在 laravel 错误中为 foreach() 提供的参数无效(查看:我看不到 $value
Posted
技术标签:
【中文标题】在 laravel 错误中为 foreach() 提供的参数无效(查看:我看不到 $value【英文标题】:in laravel error Invalid argument supplied for foreach() (View: i cant see $value 【发布时间】:2020-07-20 10:37:57 【问题描述】:我正在尝试创建一个看到此错误的博客 foreach 为 foreach() 提供的参数无效(查看:
我的网站https://weadam.com/
我的代码是: 控制器:
public function index()
$localetmp = Session::get('locale');
$blogs = @json_decode(file_get_contents("https://www.weadam.com/blogs/wp-json/wp/v2/posts?per_page=4&lang=" . $localetmp));
$blogsold = Blog::orderBy('id','desc')->take(100)->get();
foreach ((array)$blogs as $blog)
// $blog->elapsed = $this->time_elapsed_string('@'.$blog->date);
// $blog->date = date("d F Y",$blog->date);
$error = "";
return view('home-new',['blogs' => $blogs]);
和视图是:
<div class="eng-home-blog">
<div class="col-sm-9 home-post-disp bx-shadow brd-radius bg-white">
@foreach($blogs as $blog)
@if($blog->sticky)
<img src="$blog->fimg_url" class="img-responsive brd-radius bx-shadow">
<div class="hm-post-date">$blog->date</div>
<h3>$blog->title->rendered</h3>
<p>!!$blog->excerpt->rendered!!</p>
<span><a href="$blog->link" target="_blank">__("READ MORE")</a></span>
@endif
@endforeach
</div>
</div>
【问题讨论】:
dd($blogs) 在 foreach 之前 【参考方案1】:在 json_decode 函数中传递 true
作为辅助参数
$blogs = @json_decode(file_get_contents("https://www.weadam.com/blogs/wp-json/wp/v2/posts?per_page=4&lang=" . $localetmp),true);
现在您必须获取此博客数据作为关联数据。不作为一个对象。这是它的示例代码
<div class="eng-home-blog">
<div class="col-sm-9 home-post-disp bx-shadow brd-radius bg-white">
@foreach($blogs as $blog)
@if($blog['sticky'])
<img src="$blog['fimg_url']" class="img-responsive brd-radius bx-shadow">
<div class="hm-post-date">$blog['date']</div>
@endif
@endforeach
</div>
</div>
【讨论】:
【参考方案2】:您可以简单地使用forelse
它会处理empty
case
@forelse($blogs as $blog)
// do what ever you want to do
@empty
<div> Nothing to show </div>
@endforelse
希望对reference有帮助。
谢谢。
【讨论】:
这是工作,但我在 آخرین اخبار 博客中看不到博客帖子不是空的,但不在博客中显示帖子以上是关于在 laravel 错误中为 foreach() 提供的参数无效(查看:我看不到 $value的主要内容,如果未能解决你的问题,请参考以下文章
使用 vue js 时在 laravel 中为 foreach 提供的参数无效
我们如何在 laravel php 刀片模板中为 foreach 循环定义循环变量
Laravel 在 spatie-permission 的 foreach 循环中给出错误
使用 foreach 更新 Laravel 错误:语法错误,意外 ' ' (T_STRING),期待 ']'