Hellow Guys, 我试图比较我的刀片模板中的2个变量
我的控制器
@if($pregunta->infopath == null)
<td><img src="infopath/no-image.jpg" alt="" style="width:100px"/></td>
@endif
在我看来 尝试这样的
$files = \File::files('images');
foreach ($files as $file) {
$info[] = pathinfo($file);
}
$books = File::where('status', 1)->select('name')->get();
return view('cataloged.read', compact(['info','books']));
这项工作仅适用于最后一条记录 - 我的数据库中有2条记录 - 所以它只适用于本案例中的第二条记录...
我该怎么办?
感谢帮助人员!
修改
@foreach($info as $inf)
@if(isset($books))
@if($inf['basename'] == $books->name)
Match
@else
No Match
@endif
@endif
@endforeach
我的数据库中只有4本书,所以这很好用
@foreach($books as $book)
@foreach($info as $file)
@if($book->name == $file['basename'])
<p>Book</p>
@else
<p>No Book</p>
@endif
@endforeach
@endforeach
书 书 书 书
但是当我使用@else im gettin时 预订没有书6次 预订没有书6次 预订没有书6次 预订没有书6次
答案 0 :(得分:0)
因为,$books
也是数组。你应该做这样的事情:
@foreach($info as $inf)
@if(isset($books))
@foreach($books as $book)
@if($inf['basename'] == $book->name)
Match
@else
No Match
@endif
@endforeach
@endif
@endforeach
修改强>
<?php
$i = 0;
$count = count($books);
?>
@foreach($info as $file)
@if(($i<$count)?($books[$i]->name == $file['basename']):false)
<p>Book</p>
@else
<p>No Book</p>
@endif
<?php $i++ ?>
@endforeach
但是,如果该书不应该在数组中,那么您应该写File::where('status', 1)->select('name')->first();
而不是File::where('status', 1)->select('name')->get();