自终止如何在 laravel 8 中使用模态打开每个 post

self-termination how to open each post using modal in laravel 8

我没有正确提出我想问的问题。 我将尝试重新组织内容并post。 对所有回复的人表示抱歉。

根据 Stack Trace 屏幕截图,我认为您已附加 您没有将 $post 数据从控制器传递给 blade.php

检查你的代码你错过了什么:)

在您的 Routes/web.php 中,您需要将 class 传递给 blade 视图。

Route::get('/content/{id}', [PostController::class, 'show'])->where(['id' => '[0-9]+']);

然后在您的控制器中指定您的 return,在本例中它将是一个视图

return view('content', ['data' => $data]);

在post提问之前,我解决了下面写的问题。

** 问题。
当我单击 post 时,会打开一个 bootstrap 模式,我必须将来自控制器的数据放入其中。

** 进程。
content.blade.php

<a href="" data-bs-toggle="modal" data-bs-post-id="{{ $post->id }}" data-bs-target="#open_post_modal">

 var open_post_modal = document.getElementById('open_post_modal')
    open_post_modal.addEventListener('show.bs.modal', function (event) {
        // Button that triggered the modal
        var button = event.relatedTarget;
        // Extract info from data-bs-* attributes
        var postID = button.getAttribute('data-bs-post-id');
        // postID = JSON.parse(post);

        // If necessary, you could initiate an AJAX request here
        // and then do the updating in a callback.
        // Update the modal's content.
        // var modalBody = open_post_modal.querySelector('.modal-content');
        var modalBody = $(".modal-content");
        $.ajax({
            url: '/post/'+postID,
            type: 'get',
            // data: {
            // 'type': type,
            // },
            success: function(data) {
                // modalBody.innerHTML = data;
                modalBody.html(data);
            },
            error: function(err) {
                console.log(err);
            }
        })

    })

PostController.php

    public function show($id)
    {
        $post = Post::with('channel')
            ->withCount('comments')
            ->with('likes')
            ->with('user')
            ->where('posts.id', '=', $id)
//            ->get()
            ->first();

        $comments = Comment::where('postID', '=', $id)
            ->with('user')
            ->with('likes')
            ->orderBy('group', 'desc')
            ->orderBy('order', 'asc')
            ->orderBy('depth', 'asc')
            ->get();

        return view('post.show', compact('post', 'comments'));
    }