数据库中的Foreach条目:具有行的Onclick模式的表行

时间:2016-08-05 06:51:49

标签: php mysql twitter-bootstrap laravel foreach

很抱歉,如果标题可能令人困惑,

我使用的是Laraverl刀片,我在桌面上有一个foreach,以显示与数据库记录一样多的行。

@foreach ($terminals as $terminal)
                            <tr>
                                <td>{{ $terminal->id }}</td>
                                <td>{{ $terminal->serial }}</td>
                                @if ($terminal->state != 0)
                                    <td><a href="" data-toggle="modal" data-target="#terminalModal--{{ $terminal->id }}">{!! GetTerminalState($terminal->state) !!}</a></td>
                                @else
                                    <td>{!! GetTerminalState($terminal->state) !!}</td>
                                @endif
                                <td>
                                    <a href="{{ route('showSpecificTerminal', $terminal->id) }}" class="btn btn-primary btn-sm">
                                        <i class="fa fa-cc-visa" aria-hidden="true"></i> Terminal Details
                                    </a>
                                </td>
                            </tr>
                            <!-- TODO: Move Modal outside of table?-->
                            @if ($terminal->state != 0)
                                <div class="modal fade" tabindex="-1" role="dialog" id="terminalModal--{{ $terminal->id }}">
                                    <div class="modal-dialog" role="document">
                                        <div class="modal-content">
                                            <div class="modal-header">
                                                <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
                                                <h4 class="modal-title">Terminal (S/N: {{ $terminal->serial }})</h4>
                                            </div>
                                            <div class="modal-body">
                                                <h3 class="text-center">In use by</h3>
                                                <strong>ID: </strong>{{ $terminal->user->id }}<br>
                                                <strong>Username: </strong>{{ $terminal->user->name }}<br>
                                                <strong>Real Name: </strong>{{ $terminal->user->realname }}<br>
                                                <strong>E-Mail: </strong>{{ $terminal->user->email }}<br>
                                                <strong>OID: </strong>{{ $terminal->user->oid }}<br>
                                                <a href="{{ route('showSpecificProfile', $terminal->user->id) }}" class="btn btn-block btn-primary btn-sm">
                                                    <i class="fa fa-user" aria-hidden="true"></i> Profile
                                                </a>
                                            </div>
                                            <div class="modal-footer">
                                                <button type="button" class="btn btn-danger" data-dismiss="modal">Close</button>
                                            </div>
                                        </div><!-- /.modal-content -->
                                    </div><!-- /.modal-dialog -->
                                </div><!-- /.modal -->
                            @endif
                        @endforeach

正如您所看到的,在ForEach中我使用自定义函数GetTerminalState来回显引导标签(&#34;未使用&#34;当$terminal->state为0时,&## 34;在使用中&#34;当它不是0时。

当它为零时,它应该生成一个模态,在点击标签时打开。在这个模态中我想使用一个表,但这不起作用(表内的表)。

所以我需要将模式移出表格,但不想在以后使用另一个ForEach。另外,有没有人知道每个数据库记录动态生成模态的更好方法?

1 个答案:

答案 0 :(得分:1)

使用javascript生成你的模态。 收听标签上的点击事件,将数据库记录ID传递给您的javascript代码,并对进入模态的数据进行ajax调用并进行渲染。