我想在我的模态中创建我的消息线程。单击模式按钮后,我无法获得具有相同引用号的所有消息。我的代码在接收传递给 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">×</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/