我的目标
是为lambda用户创建一个简单的数据库导航器。 为此,我有一个侧栏,其中包含所有DB table_name
在页面中心,我想要数据。 这是我的表名:
administratif
equipement
erreur
etablissement
interface_eth_routeur
interface_eth_switch
interface_ip_routeur
latence
mainteneur
routeur_arp
routeur_gsu
routeur_su
salle_visio
site
switch
switch_arp
switch_module
现在,有代码: 的 routes.php文件
Route::get('navigateur_bdd', array('uses' => 'HomeController@navigateur_bdd', 'as' => 'navigateur_bdd'));
Route::get('navigateur_bdd/{table_name}', array('uses' => 'HomeController@bdd_show_table', 'as' => 'bdd_show_table'));
HOMECONTROLLER.PHP
public function navigateur_bdd()
{
$table_name = DB::select('SHOW TABLES');
return View::make('navigateur_bdd', array('which_actif' => 3, 'table_name' => $table_name));
}
public function bdd_show_table($argument = NULL) {
$selected_table = DB::table($argument)->get();
$table_name = DB::select('SHOW TABLES');
return View::make('navigateur_bdd', array('which_actif' => 3, 'table_name' => $table_name, 'selected_table' => $selected_table));
}
当用户进入该区域时,第一个功能是主视图。
当用户从主视图的侧边栏中单击table_name时,将使用第二个函数
NAVIGATEUR_BDD.BLADE.PHP
<div id="sidebar-wrapper">
<ul class="sidebar-nav" id="sidebar">
<li class="well">Liste des tables</li>
@for ($i = 0 ; $i < count($table_name); $i ++)
<li><a href="{{ URL::to('navigateur_bdd/' . $table_name[$i]->Tables_in_MYNET)}}">{{$table_name[$i]->Tables_in_MYNET}}</a></li>
@endfor
</ul>
</div>
现在有什么好处? 点击“administratif”或“erreur”等表格名称即可
但是点击具有“ routeur _ ”前缀的表名会显示空白页,没有错误。 我没有在database.php中设置任何前缀,因为并非我的所有表都有前缀 我怎么能弄清楚这一点?
编辑:一些带前缀的表正在运行。不是全部,我不知道为什么...像“开关”前缀:
"switch"
"switch_module"
正在运作,但不是
"switch_arp"
routeur_su
routeur_gsu
正在运作但不是
routeur_arp
经过调查,我在桌子上有空行页面有很多行(例如110 000)(尝试使用dd($ selected_table)); 所以这改变了我的问题的标题: 如何在变量中存储这110 000行?
答案 0 :(得分:0)
您可以使用Laravels pagination功能 它将您的数据拆分成页面,让您生成链接以进入每个页面......
$selected_table = DB::table($argument)->paginate(100); // how many records you wan't on one page
然后在您的视图中执行此操作以生成链接
{{ $table_name->links() }}