在刀片视图上显示图像缩略图(laravel 5.3)

时间:2017-02-06 06:34:29

标签: php image laravel

我必须在 view.blade.php 上查看图片缩略图我有目录,因为 sets / students / id id是每个学生ID的目录,对于st,它将是1 udent1和2 for stident2 mean目录将变为

资产/生/ 1

资产/生/ 2

每个目录中有2个图像,其中一个是默认名称,第二个是thumbnail.png我想查看每个学生目录的每个缩略图到我的视图 我的方法是

$students = Students::orderBy('id', 'desc')->get();

我在方法中获取所有路径

$attached = [];

    $destination = config('school.attachment_path.students');
    if(is_dir($destination)) {
        $pix = File::allFiles($destination);
        foreach ($pix as $attachment) {
            $attached[] = pathinfo($attachment);
        }

    }

如果我这样做

 dd($attached);
            die;

它给我输出

    array:4 [▼
  0 => array:4 [▼
    "dirname" => "C:\wamp64\www\achool-app\assets/student/\1"
    "basename" => "org.PNG"
    "extension" => "PNG"
    "filename" => "org"
  ]
  1 => array:4 [▼
    "dirname" => "C:\wamp64\www\achool-app\assets/student/\1"
    "basename" => "thumbnail.png"
    "extension" => "png"
    "filename" => "thumbnail"
  ]
  2 => array:4 [▼
    "dirname" => "C:\wamp64\www\achool-app\assets/student/\2"
    "basename" => "Capture.PNG"
    "extension" => "PNG"
    "filename" => "Capture"
  ]
  3 => array:4 [▼
    "dirname" => "C:\wamp64\www\achool-app\assets/student/\2"
    "basename" => "thumbnail.png"
    "extension" => "png"
    "filename" => "thumbnail"
  ]
]

我想在我的视图中查看两个目录的缩略图,我尝试

return view('student-gallery.view')->with(compact('attached' , 'students'));

查看

@foreach($attached_files as $attached_file)
<div">
  <img src="{{URL::to('/assets/students/' . $students->id . '/thumbnail.png')}}" alt="" width="50px" height="50px">
 </div>
@endforeach

不幸的是,它没有将 $ students-&gt; id 的给定错误视为

  

未定义属性:Illuminate \ Database \ Eloquent \ Collection :: $ id

不显示缩略图

感谢任何团体可以帮助修复它

2 个答案:

答案 0 :(得分:0)

$学生并不喜欢它只有一条记录。 你需要为它循环来获取每个学生的数据。

@if (! $students->isEmpty()) {  // Also check if students data is coming in collection
     @foreach ($students as $student)
        // echo $student->id;
        @foreach($attached_files as $attached_file)
          <div>
          <img src="{{URL::to('/assets/students/' . $student->id . '/thumbnail.png')}}" alt="" width="50px" height="50px">
          </div>
        @endforeach
     @endforeach
@endif

为了更好地理解,您可以尝试print_r($ students)。

答案 1 :(得分:0)

试试这个..它会显示所有学生的缩略图

<div class=container>
  <div class=label>
    Hello
  </div>
</div>