我正在开发一个项目,该项目将根据用户的兴趣显示文章。我有一个user_table,follower_table和article_table。目前,我能够获取user_id,并从follower_table和他们感兴趣的每篇文章中获取所有相关的兴趣。我使用Foreach循环浏览所有文章。但是,现在我希望能够根据类型将每篇文章放入不同的div中。为了能够有不同的大小和颜色。过滤foreach循环的最佳方法是什么?这是我的代码如下。
建立了follower_table:
user_id:(this is the person/interest you follow)
follower_id: (this is your id);
article_table已设置:
id
user_id
type: (music,fashion,events, dance)
title
body
photo
UserController:
class UserController extends Controller
{
public function index ()
{
$ilike = Auth::id();
$ifollow = DB::table('followers')->where('follower_id', $ilike)->lists('user_id');
$articles = DB::table('articles')
->whereIn('user_id', $ifollow)->get();
//$articles = DB::table('followers')->lists('title', 'name');
//$articles = DB::table('followers')->where('follower_id', $ilike)->pluck('user_id');
//$articles = Article::all();
return view('pages.user', compact('articles'));
}
}
user.blade.php:
<div class = "grid">
@foreach($articles as $article)
<div class="grid-item ">
<img src="/image/article/detail/{{$article->id}}.jpg"/>
</div>
@endforeach
答案 0 :(得分:1)
由于您正在传递文章请求,因此您可以使用您声明的$ article-&gt; type属性来使用它来调用css div类。
@foreach($articles as $article)
<div class="grid-item {{$article->type}}">
<img src="/image/article/detail/{{$article->id}}.jpg"/>
</div>
然后在app.css(或更少/ scss文件)中创建所需的颜色:
.music {
}
.fashion{} .events{} .dance{};