Bỏ giá trị tiêu đề trùng lặp trong page or post với foreach
Laravel
Tôi đang xem 1 bài viết của 1 post có id=1
Trong trang post id=1 này tôi có thêm widget lấy tin mới nhất 3 bài với của tổng id = 1 2 3
Đây là cấu trúc bảng 'ấn phẩm' mẫu của tôi. Hiện tại, tôi đang sử dụng mã sau để xem giá trị.
@foreach($post as $post) {{ $post->title}} - Author: {{ $post->author }} @endforeach
Mã trên cho tôi kết quả sau 3 id =1 2 3
Ở đây, tiêu đề id=1 của hàng thứ 1 lại trùng lặp lại bài viết đang xem có id=1.
Vì vậy, tôi muốn loại bỏ id =1 ra khỏi widget
Xin hãy giúp tôi giải quyết vấn đề này. Cảm ơn trước.
3 CÂU TRẢ LỜI
Trong vòng lặp foreach
bạn cần kiểm tra xem danh sách posts
được render ra widget có post mà đang đang hiển thị cho người dùng không, nếu có thì không tiến hành render ra post
đó mà chỉ render những post
có id
khác với post
hiện tại đang hiển thị.
@foreach ($posts as $widgetPost)
@if ($widgetPost->id !== $post->id)
// render widget post ở đây
@endif
@endforeach
Cảm ơn bạn... Mã trên tôi đặt foreach trong trang page hoặc post thì kết quả tốt ...
Còn lỗi thông qua shortcode widget $post->id không tìm thấy
Cuối cùng mình phải gán cho một giá trị cho kết quả tốt
Một là trong câu query của widget thêm whereNot('id', $id)
với $id
là id của post bạn đang xem. Hai là làm theo như bạn Cao Quý Đăng đã gợi ý.
Cảm ơn bạn
Câu hỏi đi translate ở đâu về.