javascript - 无法在modal中输出所有具有相同id的数据

标签 javascript laravel

我想在我的模态中创建我的消息线程。单击模式按钮后,我无法获得具有相同引用号的所有消息。我的代码在接收传递给 Controller ​​的 refNumber 之前首先执行查询。请帮我解决这个问题。 这些是我的代码..

这是我的 Controller (HomeController)

   public function getAllMessage(Request $request){
 $refNumber = $request->get('refNumber');



    $messageThread = DB::TABLE('i_di_thread')
     ->SELECT('message')
     ->WHERE('refNumber', $refNumber);
     return view ('showInquiries', ['messageThread'=>$messageThread]);

}

这是我的 JavaScript 函数

 $('#inquire_t tbody').on('click','#mensahe',function(){
           var refNumber = $(this).attr('value');

        getMessageThread(refNumber);

        function getMessageThread(refNumber){
            $.ajax({
                url: 'getMessageThread',
                type: 'GET',
                headers: {'X-CSRF-TOKEN':$('meta[name="csrf-token"]').attr('content')},
                data: 'refNumber='+refNumber,
                dataType: 'text',
                success:function(msg){
                }//each
            });
        }

这是我的 Blade

 <!-- MODAL FOR MESSAGE THREAD -->
<div id="threadmessage" class="modal fade" role="dialog">
    <div class="modal-dialog">
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal">&times;</button>
                <h3>Message Thread</h3>
            </div>
            <div class="modal-body" style="height: 300px;" >
                <div class="row" style=" margin-left: 30px; margin-bottom: 5px; left: 20px; width: 550px; height: 200px; overflow: auto;">
                    <div>
                        @foreach ($messageThread as $thread)
                                {{$thread->message}}
                                <br>
                        @endforeach
                    </div>
                    <br>
                </div>
                <div>
                    <br>
                    <div class="col-md-2"> 
                        <b> Message: </b><br>
                    </div>
                    <div class="col-md-10"> 
                        <textarea required=" " id="messageContent" style="resize: none;" class="form-control" rows="2"></textarea>
                    </div>
                </div>
                <br>
            </div>
            <div class="modal-footer">
                <div>
                    <button type="button" id="btn-message" class="btn btn-default" data-dismiss="modal" style="background-color: #3c5fa6; color: white;"> 
                        Send <i class="fa fa-paper-plane-o ml-1"> </i>
                    </button>
                </div>
            </div>
        </div>
    </div>

最佳答案

DB::TABLE('i_di_thread')
     ->SELECT('message')
     ->WHERE('refNumber', $refNumber);

将返回Illuminate/Database/Eloquent/Builder实例。 Check here

添加->get()以将查询作为“select”语句执行。 Check here

完整代码:

public function getAllMessage(Request $request){
    $refNumber = $request->get('refNumber');
    $messageThread = DB::table('i_di_thread')
                     ->select('message')
                     ->where('refNumber', $refNumber)
                     ->get();
    return view ('showInquiries', ['messageThread'=>$messageThread]);

}

已更新

您正在使用 Blade 显示数据,并且不是异步的。

Check this answer if you want to dynamically get data and to display in modal.

注意: 使用optional函数访问属性而不引起错误。

示例:

<div class="row" style=" margin-left: 30px; margin-bottom: 5px; left: 20px; width: 550px; height: 200px; overflow: auto;">
                    <div>
                        @foreach ($messageThread as $thread)
                                {{optional($thread)->message}} {{-- accessing property without causing error --}}
                                <br>
                        @endforeach
                    </div>
                    <br>
                </div>

关于javascript - 无法在modal中输出所有具有相同id的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53808568/

相关文章:

使用 Laravel 的 MySQL IN 语句

php - 在 Routes.php 中运行基本的 Laravel 任务 - "Sorry, can' 找不到那个任务。”

javascript - string.prototype.localeCompare(),脚本修改

javascript - 要显示在可滚动 div 内的绝对定位元素的问题

c# - 这些 javascript include 定义有区别吗

javascript - 滚动到屏幕顶部后,如何使 div 贴在屏幕顶部?

php - Laravel:零值之间的日期

php - Laravel Blade,Yield 默认部分似乎已停止正常工作

javascript - 尝试使用 Javascript 对我正在制作的图像进行编号

php - Laravel 同时动态连接到不同的数据库