@php
// вариант с массивами
$abcMarks = [];
$oldFirst = null;
foreach ($makes as $make) {
$i = $oldFirst == mb_substr($make->name, 0, 1) ? $oldFirst : mb_substr($make->name, 0, 1);
$abcMarks[$i][] = $make->name;
}
// или вариант с коллекциями
$abcMarks = $makes->groupBy(function ($item, $key) {
return strtoupper(mb_substr($item->name, 0, 1));
});
@endphp
<div class="marks">
@foreach($abcMarks as $key => $marks)
<div class="marks__group">
<div class="marks__title"><strong>{{ $key }}</strong></div>
<div class="marks__list">
@foreach($marks as $mark)
<div class="marks__item">
{{ $mark }}
</div>
@endforeach
</div>
</div>
@endforeach
</div>
@if(request()->input('name') == 'value') checked="" @endif
Form::checkbox('name', 'value', true);
Comments::whereIsRoot()->pagination(5)->get();
Post::with('likes', 'users')->get();
В модели пост у вас все равно должен быть метод или атрибут isLiked
например так
public function getIsLikedAttribute()
{
return $this->likes ? true:false;
}
Book::withCount('orders')->get();
DB::table('books')
->join('orders', function ($join) {
$join->on('books.book_id', '=', 'orders.book_id');
})
->groupBy('books.book_id');
->select('books.*', DB::raw('count(orders.book_id) as number_of_orders'))
->get();
$expiresAt = Carbon::now()->addMinutes(5);
$expiresAt = 5;