Asked Oct 12th, 2022 2:54 a.m. 165 0 3
  • 165 0 3
-3

Bỏ giá trị tiêu đề trùng lặp trong page or post với foreach

Share
  • 165 0 3

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.

Oct 12th, 2022 3:06 a.m.

Câu hỏi đi translate ở đâu về.

0
| Reply
Share

3 ANSWERS


Answered Oct 12th, 2022 3:02 a.m.
Accepted
0

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 postid 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
Share
Avatar MacKen @MacKen
Oct 12th, 2022 6:11 a.m.

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

0
| Reply
Share
Answered Oct 12th, 2022 4:29 a.m.
0

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 ý.

Share
Avatar MacKen @MacKen
Oct 12th, 2022 6:11 a.m.

Cảm ơn bạn

0
| Reply
Share
Answered Jan 31st, 2023 2:46 p.m.
0

.

Share
Viblo
Let's register a Viblo Account to get more interesting posts.