Я работаю над проектом, который будет отображать статьи на основе интересов пользователя. У меня есть 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
Поскольку вы передаете запрос Article, вы можете использовать объявленный вами атрибут $ article-> type, чтобы использовать его для вызова классов CSS css.
@foreach($articles as $article)
<div class="grid-item {{$article->type}}">
<img src="/image/article/detail/{{$article->id}}.jpg"/>
</div>
А затем создайте нужные цвета в вашем файле app.css (или в файлах less / scss):
.music {
}
.fashion{} .events{} .dance{};
Других решений пока нет …