laravel 在 blade 中迭代 eloquent 模型的结果

laravel iterating the result from the eloquent model in blade

我得到的结果类似于具有 one-to-many 关系的模型

{
   "id":1,
   "name":"asdjash",
   "position":"jhkjh",
   "about":"hkjhkj",
   "message":"hkjhkj",
   "image":"demo.jpg",
   "status":"Active",
   "created_at":"2017-02-07 00:00:00",
   "updated_at":"2017-02-09 00:00:00",
   "personality_slider_images":[
      {
         "id":1,
         "image_name":"one.jpg",
         "personality_id":"1",
         "created_at":"2017-02-09 00:00:00",
         "updated_at":"2017-02-11 00:00:00"
      },
      {
         "id":2,
         "image_name":"two.jpg",
         "personality_id":"1",
         "created_at":"2017-02-10 00:00:00",
         "updated_at":"2017-02-26 00:00:00"
      }
   ]
}

我想在页面上显示所有详细信息

如下

 <div class="well">
       <p><h4>Name : </h4> 
       {{ $personality->name }}
       </p>
       <p><h4>Position : </h4> 
       {{ $personality->position }}
       </p>
       <p><h4>About : </h4> 
       {{ $personality->about }}
       </p>
       <p><h4>Image : </h4> 
       <img src="{{ URL::to('/contents/personality/' . $personality->image) }}" alt="{{ $personality->image }}" width="150" height="180"  style="display: block; ">                      
       </p>
       <p><h4>Message : </h4> 
       {{ $personality->message }}
       </p>
       <p><h4>SliderImage : </h4> 
       {{ $personality }}

       </p>
       <p><h4>Status : </h4> 
       {{ $personality->status }}
       </p>
 </div>

我试过了

@foreach($personality->personality_slider_images as $p)
  {{ $p->image_name }}
@endforeach

但是报错如下

Invalid argument supplied for foreach()

谁能帮我解决这个问题?

您应该为您的实际数组添加一个 for each,而不是为该数组中的一个变量。

假设您的数组名称是 $personalities,它应该如下所示。

@foreach ($personalities as $personality)
Insert the HTML from your sample above in here. 
@endforeach

要检索图像对象,您必须执行如下操作

$personality->personality_slider_name['image_name]

我看到你有 json 数组,

  1. 使用json_decode

    解码

    $decode = json_decode($encode);

  2. 现在遍历你的循环,

    @foreach($personality->personality_slider_images as $p)

    {{ $p->image_name }}

    @endforeach

它会起作用。

试一试。