Laravel框架控制器方法:
/* * 學生信息列表 * 請求方式:get * 參數:null * */ public function studentLists(){ $data = Student::studentLists(); foreach ($data as $k=>$v){ $data[$k]['s_sex'] = $v['s_sex'] == 1 ? '男' : '女'; $data[$k]['s_img'] = 'http://www.1707laravel.com/'.$v['s_img']; } return ['code'=>0,'msg'=>'查詢成功','result'=>$data]; }
Laravel框架模型層方法
public static function studentLists(){ return self::join('room','student.class_id','=','room.c_id')->paginate(2); }
Vue頁面代碼示例
<template> <div> <h1>列表</h1> <el-table :data="tableData" style="width: 100%"> <el-table-column prop="id" label="主鍵id" width="180"> </el-table-column> <el-table-column prop="address" label="個人照片"> <template slot-scope="imgObj"> <img :src="imgObj.row.s_img" width="80" height="80" alt=""> </template> </el-table-column> <el-table-column prop="s_name" label="學生姓名" width="180"> </el-table-column> <el-table-column prop="s_sex" label="學生性別"> </el-table-column> <el-table-column prop="s_age" label="學生年齡"> </el-table-column> <el-table-column prop="c_name" label="所在班級"> </el-table-column> <el-table-column prop="s_address" label="籍貫地址"> </el-table-column> </el-table> <el-pagination background layout="prev, pager, next" :page-size="pageSize" :total="total" @current-change="one" > </el-pagination> </div> </template> <script> export default { data() { return { tableData: [], total:0,//總條數 pageSize:0, //每頁顯示條數 } }, created(){ var obj = this; //這個方法表示的是初始化頁面完成的時候執行的操作 this.$axios.get('/api/student-lists') .then(function(res){ //獲取到表格數據 obj.tableData = res.data.result.data; obj.total = res.data.result.total; obj.pageSize = res.data.result.to; // console.log(res.data.result.data); }) }, methods:{ one(val){ var obj = this; this.$axios.get('/api/student-lists?page='+val) .then(function(res){ obj.tableData = res.data.result.data; }) } } } </script>
效果圖: