Yêu cầu thg 10 12, 2022 2:54 SA 133 0 3
  • 133 0 3
-3

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

Chia sẻ
  • 133 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.

thg 10 12, 2022 3:06 SA

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

3 CÂU TRẢ LỜI


Đã trả lời thg 10 12, 2022 3:02 SA
Đã được chấp nhận
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
Chia sẻ
Avatar MacKen @MacKen
thg 10 12, 2022 6:11 SA

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

Đã trả lời thg 10 12, 2022 4:29 SA
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 ý.

Chia sẻ
Avatar MacKen @MacKen
thg 10 12, 2022 6:11 SA

Cảm ơn bạn

Đã trả lời thg 1 31, 2023 2:46 CH
0

.

Chia sẻ
Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí